Skip to content

cannot create distributed table that depends on an object created by an extension that's created in the same transaction #8472

@onurctirtir

Description

@onurctirtir

I was testing Elastic Clusters, i.e., our offering on Azure today, with https://github.com/secp256k1-sha256/postgres-compatibility-index/ on secp256k1-sha256/postgres-compatibility-index@dea6314.
For ease of testing, used schema-distributed tables but this bug also applies to usual distributed tables etc.

select citus_version();
┌───────────────────────────────────────────────────────────────────────────────────────────┐
│                                       citus_version                                       │
├───────────────────────────────────────────────────────────────────────────────────────────┤
│ Citus 13.2.0 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 13.2.0, 64-bit gitref: v13.2.0 │
└───────────────────────────────────────────────────────────────────────────────────────────┘
(1 row)

Initial setup;

SET citus.enable_schema_based_sharding TO ON;
CREATE SCHEMA pci_test;
RESET citus.enable_schema_based_sharding;
SET search_path TO pci_test;

Reproduce with postgis:

BEGIN;
   CREATE EXTENSION IF NOT EXISTS postgis;
   CREATE TABLE test_geo (geom GEOMETRY);
ERROR:  type "pci_test.geometry" does not exist
CONTEXT:  while executing command on 10.33.0.254:7002

Reproduce with pgvector:

BEGIN;
   CREATE EXTENSION IF NOT EXISTS vector;
   CREATE TABLE test_vector (embedding VECTOR(3));
ERROR:  type "pci_test.vector" does not exist
CONTEXT:  while executing command on 10.33.0.254:7002

Reproduce with btree_gist:

BEGIN;
   CREATE EXTENSION IF NOT EXISTS btree_gist;
   CREATE TABLE test_exclusion (id int, t text, ts tstzrange, exclude using gist ((case when t ='A' THEN true end) with =,ts with && ));
ERROR:  data type boolean has no default operator class for access method "gist"
HINT:  You must specify an operator class for the index or define a default operator class for the data type.
CONTEXT:  while executing command on 10.33.0.254:7002

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions