testing/postgresql-citus: upgrade to 11.0.2
-
Drops support for PostgreSQL 12
-
Open sources enterprise features, see the rest of changelog items
-
Turns metadata syncing on by default
-
Introduces
citus_finish_citus_upgrade()
procedure which is necessary to upgrade from earlier versions -
Open sources non-blocking shard moves/shard rebalancer (
citus.logical_replication_timeout
) -
Open sources propagation of
CREATE/DROP/ALTER ROLE
statements -
Open sources propagation of
GRANT
statements -
Open sources propagation of
CLUSTER
statements -
Open sources propagation of
ALTER DATABASE ... OWNER TO ...
-
Open sources optimization for
COPY
when loadingJSON
to avoid double parsing of theJSON
object (citus.skip_jsonb_validation_in_copy
) -
Open sources support for row level security
-
Open sources support for
pg_dist_authinfo
, which allows storing different authentication options for different users, e.g. you can store passwords or certificates here. -
Open sources support for
pg_dist_poolinfo
, which allows using connection poolers in between coordinator and workers -
Open sources tracking distributed query execution times using citus_stat_statements (
citus.stat_statements_max
,citus.stat_statements_purge_interval
,citus.stat_statements_track
). This is disabled by default. -
Open sources tenant_isolation
-
Open sources support for
sslkey
andsslcert
incitus.node_conninfo
-
Adds
citus.max_client_connections
GUC to limit non-Citus connections -
Allows locally creating objects having a dependency that cannot be distributed
-
Distributes aggregates with
CREATE AGGREGATE
command -
Distributes functions with
CREATE FUNCTION
command -
Adds
citus.create_object_propagation
GUC to control DDL creation behaviour in transactions -
Hides shards based on
application_name
prefix -
Prevents specifying
application_name
viacitus.node_conninfo
-
Starts identifying rebalancer backends by
application_name=citus_rebalancer
-
Starts identifying internal backends by
application_name=citus_internal
-
Adds
citus.enable_unsafe_triggers
flag to enable unsafe triggers on distributed tables -
Adds
fix_partition_shard_index_names
UDF to fix currently broken names -
Adds propagation for foreign server commands
-
Adds propagation of
DOMAIN
objects -
Adds propagation of
TEXT SEARCH CONFIGURATION
objects -
Adds propagation of
TEXT SEARCH DICTIONARY
objects -
Adds support for
ALTER FUNCTION ... SUPPORT ...
commands -
Adds support for
CREATE SCHEMA AUTHORIZATION
statements without schema name -
Adds support for
CREATE/DROP/ALTER VIEW
commands -
Adds support for
TRUNCATE
for foreign tables -
Adds support for adding local tables to metadata using
citus_add_local_table_to_metadata()
UDF -
Adds support for adding partitioned local tables to Citus metadata
-
Adds support for automatic binary encoding in re-partition joins when possible
-
Adds support for foreign tables in MX
-
Adds support for operator class parameters in indexes
-
Adds support for re-partition joins in transaction blocks
-
Adds support for re-partition joins on followers
-
Adds support for shard replication > 1 hash distributed tables on Citus MX
-
Adds support for
LOCK
commands on distributed tables from worker nodes -
Adds support for
TABLESAMPLE
-
Adds support for propagating views when syncing Citus table metadata
-
Improves handling of
IN
,OUT
andINOUT
parameters for functions -
Introduces
citus_backend_gpid()
UDF to get global pid of the current backend -
Introduces
citus_check_cluster_node_health
UDF to check cluster connectivity -
Introduces
citus_check_connection_to_node
UDF to check node connectivity -
Introduces
citus_coordinator_nodeid
UDF to find the node id of the coordinator node -
Introduces
citus_stat_activity
view and dropscitus_worker_stat_activity
UDF -
Introduces
citus.use_citus_managed_tables
GUC to add local tables to Citus metadata automatically -
Introduces a new flag
force_delegation
increate_distributed_function()
-
Introduces
run_command_on_coordinator
UDF -
Introduces
synchronous
option tocitus_disable_node()
UDF -
Introduces
citus_is_coordinator
UDF to check whether a node is the coordinator -
Allows adding a unique constraint with an index
-
Allows
create_distributed_function()
on a function owned by an extension -
Allows creating distributed tables in sequential mode
-
Allows disabling nodes when multiple failures happen
-
Allows
lock_table_if_exits
to be called outside of a transaction blocks -
Adds support for pushing procedures with
OUT
arguments down to the worker nodes -
Overrides
pg_cancel_backend()
andpg_terminate_backend()
to run with global pid -
Delegates function calls of the form
SELECT .. FROM func()
-
Adds propagation of
CREATE SCHEMA .. GRANT ON SCHEMA ..
commands -
Propagates
pg_dist_object
to worker nodes -
Adds propagation of
SCHEMA
operations -
Adds missing version-mismatch checks for columnar tables
-
Adds missing version-mismatch checks for internal functions
-
citus_shard_indexes_on_worker
shows all local shard indexes regardless ofsearch_path
-
citus_shards_on_worker
shows all local shards regardless ofsearch_path
-
Enables distributed execution from
run_command_on_*
functions -
Deprecates inactive shard state, never marks any placement inactive
-
Disables distributed & reference foreign tables
-
Prevents propagating objects having a circular dependency
-
Prevents propagating objects having a dependency to an object with unsupported type
-
Deprecates
master_get_table_metadata
UDF -
Disallows remote execution from queries on shards
-
Drops
citus.enable_cte_inlining
GUC -
Drops
citus.single_shard_commit_protocol
GUC, defaults to 2PC -
Drops support for
citus.multi_shard_commit_protocol
, always use 2PC -
Avoids unnecessary errors for
ALTER STATISTICS IF EXISTS
when the statistics does not exist -
Fixes a bug that prevents dropping/altering indexes
-
Fixes a bug that prevents non-client backends from accessing shards
-
Fixes columnar freezing/wraparound bug
-
Fixes
invalid read of size 1
memory error withcitus_add_node
-
Fixes schema name qualification for
ALTER/DROP SEQUENCE
-
Fixes schema name qualification for
ALTER/DROP STATISTICS
-
Fixes schema name qualification for
CREATE STATISTICS
-
Fixes a bug that causes columnar storage pages to have zero LSN
-
Fixes a bug that causes issues while create dependencies from multiple sessions
-
Fixes a bug that causes reading columnar metapage as all-zeros when writing to a columnar table
-
Fixes a bug that could break
DROP SCHEMA/EXTENSON
commands when there is a columnar table -
Fixes a bug that could break pg upgrades due to missing
pg_depend
records for columnar table access method -
Fixes a bug that could cause
CREATE INDEX
to fail for expressions when using customsearch_path
-
Fixes a bug that could cause
worker_save_query_explain_analyze
to fail on custom types -
Fixes a bug that could cause failed re-partition joins to leak result tables
-
Fixes a bug that could cause prerequisite columnar table access method objects being not created during pg upgrades
-
Fixes a bug that could cause re-partition joins involving local shards to fail
-
Fixes a bug that could cause false positive distributed deadlocks due to local execution
-
Fixes a bug that could cause leaking files when materialized views are refreshed
-
Fixes a bug that could cause unqualified
DROP DOMAIN IF EXISTS
to fail -
Fixes a bug that could cause wrong schema and ownership after
alter_distributed_table
-
Fixes a bug that could cause
EXPLAIN ANALYZE
to fail for prepared statements with custom type -
Fixes a bug that could cause Citus not to create function in transaction block properly
-
Fixes a bug that could cause returning invalid JSON when running
EXPLAIN ANALYZE
with subplans -
Fixes a bug that limits usage of sequences in non-int columns
-
Fixes a bug that prevents
DROP SCHEMA CASCADE
-
Fixes a build error that happens when
lz4
is not installed -
Fixes a clog lookup failure that could occur when writing to a columnar table
-
Fixes a crash that occurs when the aggregate that cannot be pushed-down returns empty result from a worker
-
Fixes a missing
FROM
clause entry error -
Fixes a possible segfault that could happen when reporting distributed deadlock
-
Fixes an issue that could cause unexpected errors when there is an in-progress write to a columnar table
-
Fixes an unexpected error that occurs due to aborted writes to a columnar table with an index
-
Fixes an unexpected error that occurs when writing to a columnar table created in older version
-
Fixes issue when compiling Citus from source with some compilers
-
Fixes issues on
ATTACH PARTITION
logic -
Fixes naming issues of newly created partitioned indexes
-
Honors
enable_metadata_sync
in node operations -
Improves nested execution checks and adds GUC to control (
citus.allow_nested_distributed_execution
) -
Improves self-deadlock prevention for
CREATE INDEX / REINDEX CONCURRENTLY
commands for builds using PG14 or higher -
Moves
pg_dist_object
topg_catalog
schema -
Parallelizes metadata syncing on node activation
-
Partitions shards to be co-located with the parent shards
-
Prevents Citus table functions from being called on shards
-
Prevents creating distributed functions when there are out of sync nodes
-
Prevents alter table functions from dropping extensions
-
Refrains reading the metadata cache for all tables during upgrade
-
Provides notice message for idempotent
create_distributed_function
calls -
Reinstates optimisation for uniform shard interval ranges
-
Relaxes table ownership check to privileges check while acquiring lock
-
Drops support for
citus.shard_placement_policy
GUC -
Drops
master_append_table_to_shard
UDF -
Drops
master_apply_delete_command
UDF -
Removes copy into new shard logic for append-distributed tables
-
Drops support for distributed
cstore_fdw
tables in favor of Citus columnar table access method -
Removes support for dropping distributed and local indexes in the same statement
-
Replaces
citus.enable_object_propagation
GUC withcitus.enable_metadata_sync
-
Requires superuser for
citus_add_node()
andcitus_activate_node()
UDFs -
Revokes read access to
columnar.chunk
from unprivileged user -
Disallows unsupported lateral subqueries on distributed tables
-
Stops updating shard range in
citus_update_shard_statistics
for append tables