|
| 1 | +## citus v13.1.0 (May 30th, 2025) ### |
| 2 | + |
| 3 | +* Adds `citus_stat_counters` view that can be used to query |
| 4 | + stat counters that Citus collects while the feature is enabled, which is |
| 5 | + controlled by citus.enable_stat_counters. `citus_stat_counters()` can be |
| 6 | + used to query the stat counters for the provided database oid and |
| 7 | + `citus_stat_counters_reset()` can be used to reset them for the provided |
| 8 | + database oid or for the current database if nothing or 0 is provided (#7917) |
| 9 | + |
| 10 | +* Adds `citus_nodes` view that displays the node name, port role, and "active" |
| 11 | + for nodes in the cluster (#7968) |
| 12 | + |
| 13 | +* Adds `citus_is_primary_node()` UDF to determine if the current node is a |
| 14 | + primary node in the cluster (#7720) |
| 15 | + |
| 16 | +* Adds support for propagating `GRANT/REVOKE` rights on table columns (#7918) |
| 17 | + |
| 18 | +* Adds support for propagating `REASSIGN OWNED BY` commands (#7319) |
| 19 | + |
| 20 | +* Adds support for propagating `CREATE`/`DROP` database from all nodes (#7240, |
| 21 | + #7253, #7359) |
| 22 | + |
| 23 | +* Propagates `SECURITY LABEL ON ROLE` statement from any node (#7508) |
| 24 | + |
| 25 | +* Adds support for issuing role management commands from worker nodes (#7278) |
| 26 | + |
| 27 | +* Adds support for propagating `ALTER USER RENAME` commands (#7204) |
| 28 | + |
| 29 | +* Adds support for propagating `ALTER DATABASE <db_name> SET ..` commands |
| 30 | + (#7181) |
| 31 | + |
| 32 | +* Adds support for propagating `SECURITY LABEL` on tables and columns (#7956) |
| 33 | + |
| 34 | +* Adds support for propagating `COMMENT ON <database>/<role>` commands (#7388) |
| 35 | + |
| 36 | +* Moves some of the internal citus functions from `pg_catalog` to |
| 37 | + `citus_internal` schema (#7473, #7470, #7466, 7456, 7450) |
| 38 | + |
| 39 | +* Adjusts `max_prepared_transactions` only when it's set to default on PG >= 16 |
| 40 | + (#7712) |
| 41 | + |
| 42 | +* Adds skip_qualify_public param to shard_name() UDF to allow qualifying for |
| 43 | + "public" schema when needed (#8014) |
| 44 | + |
| 45 | +* Allows `citus_*_size` on indexes on a distributed tables (#7271) |
| 46 | + |
| 47 | +* Allows `GRANT ADMIN` to now also be `INHERIT` or `SET` in support of PG16 |
| 48 | + |
| 49 | +* Makes sure `worker_copy_table_to_node` errors out with Citus tables (#7662) |
| 50 | + |
| 51 | +* Adds information to explain output when using |
| 52 | + `citus.explain_distributed_queries=false` (#7412) |
| 53 | + |
| 54 | +* Logs username in the failed connection message (#7432) |
| 55 | + |
| 56 | +* Makes sure to avoid incorrectly pushing-down the outer joins between |
| 57 | + distributed tables and recurring relations (like reference tables, local |
| 58 | + tables and `VALUES(..)` etc.) prior to PG 17 (#7937) |
| 59 | + |
| 60 | +* Prevents incorrectly pushing `nextval()` call down to workers to avoid using |
| 61 | + incorrect sequence value for some types of `INSERT .. SELECT`s (#7976) |
| 62 | + |
| 63 | +* Makes sure to prevent `INSERT INTO ... SELECT` queries involving subfield or |
| 64 | + sublink, to avoid crashes (#7912) |
| 65 | + |
| 66 | +* Makes sure to take improvement_threshold into the account |
| 67 | + in `citus_add_rebalance_strategy()` (#7247) |
| 68 | + |
| 69 | +* Makes sure to disallow creating a replicated distributed |
| 70 | + table concurrently (#7219) |
| 71 | + |
| 72 | +* Fixes a bug that causes omitting `CASCADE` clause for the commands sent to |
| 73 | + workers for `REVOKE` commands on tables (#7958) |
| 74 | + |
| 75 | +* Fixes an issue detected using address sanitizer (#7948, #7949) |
| 76 | + |
| 77 | +* Fixes a bug in deparsing of shard query in case of "output-table column" name |
| 78 | + conflict (#7932) |
| 79 | + |
| 80 | +* Fixes a crash in columnar custom scan that happens when a columnar table is |
| 81 | + used in a join (#7703) |
| 82 | + |
| 83 | +* Fixes `MERGE` command when insert value does not have source distributed |
| 84 | + column (#7627) |
| 85 | + |
| 86 | +* Fixes performance issue when using `\d tablename` on a server with many |
| 87 | + tables (#7577) |
| 88 | + |
| 89 | +* Fixes performance issue in `GetForeignKeyOids` on systems with many |
| 90 | + constraints (#7580) |
| 91 | + |
| 92 | +* Fixes performance issue when distributing a table that depends on an |
| 93 | + extension (#7574) |
| 94 | + |
| 95 | +* Fixes performance issue when creating distributed tables if many already |
| 96 | + exist (#7575) |
| 97 | + |
| 98 | +* Fixes a crash caused by some form of `ALTER TABLE ADD COLUMN` statements. When |
| 99 | + adding multiple columns, if one of the `ADD COLUMN` statements contains a |
| 100 | + `FOREIGN` constraint ommitting the referenced |
| 101 | + columns in the statement, a `SEGFAULT` occurs (#7522) |
| 102 | + |
| 103 | +* Fixes assertion failure in maintenance daemon during Citus upgrades (#7537) |
| 104 | + |
| 105 | +* Fixes segmentation fault when using `CASE WHEN` in `DO` block functions |
| 106 | + (#7554) |
| 107 | + |
| 108 | +* Fixes undefined behavior in `master_disable_node` due to argument mismatch |
| 109 | + (#7492) |
| 110 | + |
| 111 | +* Fixes incorrect propagating of `GRANTED BY` and `CASCADE/RESTRICT` clauses |
| 112 | + for `REVOKE` statements (#7451) |
| 113 | + |
| 114 | +* Fixes the incorrect column count after `ALTER TABLE` (#7379) |
| 115 | + |
| 116 | +* Fixes timeout when underlying socket is changed for an inter-node connection |
| 117 | + (#7377) |
| 118 | + |
| 119 | +* Fixes memory leaks (#7441, #7440) |
| 120 | + |
| 121 | +* Fixes leaking of memory and memory contexts when tracking foreign keys between |
| 122 | + Citus tables (#7236) |
| 123 | + |
| 124 | +* Fixes a potential segfault for background rebalancer (#7694) |
| 125 | + |
| 126 | +* Fixes potential `NULL` dereference in casual clocks (#7704) |
| 127 | + |
1 | 128 | ### citus v13.0.3 (March 20th, 2025) ### |
2 | 129 |
|
3 | 130 | * Fixes a version bump issue in 13.0.2 |
|
100 | 227 | * Allows overwriting host name for all inter-node connections by |
101 | 228 | supporting "host" parameter in citus.node_conninfo (#7541) |
102 | 229 |
|
103 | | -* Changes the order in which the locks are acquired for the target and |
104 | | - reference tables, when a modify request is initiated from a worker |
105 | | - node that is not the "FirstWorkerNode" (#7542) |
| 230 | +* Avoids distributed deadlocks by changing the order in which the locks are |
| 231 | + acquired for the target and reference tables (#7542) |
106 | 232 |
|
107 | 233 | * Fixes a performance issue when distributing a table that depends on an |
108 | 234 | extension (#7574) |
|
0 commit comments