Back to Citus

EXTENSION COMPATIBILITY

EXTENSION_COMPATIBILITY.md

14.0.16.4 KB
Original Source

Below table is created with Citus 12.1.7 on PG16

Extension NameWorks as ExpectedNotes
address_standardizerYes
address_standardizer_data_usYes
agePartiallyWorks fine side by side, but graph data cannot be distributed.
amcheckYes
anonPartiallyCannot anonymize distributed tables. It is possible to anonymize local tables.
auto_explainNoIssue #6448
azureYes
azure_aiYes
azure_storageYes
bloomYes
Btree_ginYes
btree_gistYes
citextYes
Citus_columnarYes
cubeYes
dblinkYes
dict_intYes
dict_xsynYes
earthdistanceYes
fuzzystrmatchYes
hllYes
hstoreYes
hypopgPartiallyHypopg can work on local tables and individual shards, however, when we create a hypothetical index on a distributed table, citus does not propagate the index creation command to worker nodes, and thus, hypothetical index is not used in explain statements.
intaggYes
intarrayYes
isnYes
loPartiallyExtension relies on triggers, but Citus does not support triggers over distributed tables
login_hookYes
ltreeYes
oracle_fdwYes
orafceYes
pageinspectYes
pg_buffercacheYes
pg_cronYes
pg_diskannYes
pg_failover_slotsTo be tested
pg_freespacemapPartiallyUsers can set citus.override_table_visibility='off'; to get accurate calculation of free space map.
pg_hint_planPartiallyWorks fine side by side, but hints are ignored for distributed queries
pg_partmanYes
pg_prewarmPartiallyIn order to prewarm distributed tables, set " citus.override_table_visibility" to off, and run prewarm for each shard. This needs to be done at each node.
pg_repackPartiallyExtension relies on triggers, but Citus does not support triggers over distributed tables. It works fine on local tables.
pg_squeezePartiallyIt can work on local tables, but it is not aware of distributed tables. Users can set citus.override_table_visibility='off'; and then run pg_squeeze for each shard. This needs to be done at each node.
pg_stat_statementsYes
pg_trgmYes
pg_visibilityPartiallyIn order to get visibility map of a distributed table, customers can run the functions for shard tables.
pgaadauthYes
pgauditYes
pgcryptoYes
pglogicalNo
pgrowlocksPartiallyIt works only with individual shards, not with distributed table names.
pgstattupleYes
plpgsqlYes
plv8Yes
postgisYes
postgis_rasterYes
postgis_sfcgalYes
postgis_tiger_geocoderNo
postgis_topologyNo
postgres_fdwYes
postgres_protobufYes
semverYes
session_variableNo
sslinfoYes
tablefuncYes
tdigestYes
tds_fdwYes
timescaledbNoKnown to be incompatible with Citus
topnYes
tsm_system_rowsYes
tsm_system_timeYes
unaccentYes
uuid-osspYes
vector (aka pg_vector)Yes
wal2jsonTo be tested
xml2To be tested