Fixes tests

create_drop_db_gh
gindibay 2023-10-05 17:11:07 +03:00
parent e46c9cff9b
commit 0b562db7df
5 changed files with 401 additions and 80 deletions

View File

@ -1,46 +1,111 @@
set citus.enable_create_database_propagation=on; \set create_drop_db_tablespace :abs_srcdir '/tmp_check/ts3'
CREATE TABLESPACE create_drop_db_tablespace LOCATION :'create_drop_db_tablespace';
\c - - - :worker_1_port
\set create_drop_db_tablespace :abs_srcdir '/tmp_check/ts4'
CREATE TABLESPACE create_drop_db_tablespace LOCATION :'create_drop_db_tablespace';
\c - - - :worker_2_port
\set create_drop_db_tablespace :abs_srcdir '/tmp_check/ts5'
CREATE TABLESPACE create_drop_db_tablespace LOCATION :'create_drop_db_tablespace';
\c - - - :master_port
create user create_drop_db_test_user; create user create_drop_db_test_user;
set citus.enable_create_database_propagation=on;
CREATE DATABASE mydatabase CREATE DATABASE mydatabase
WITH TEMPLATE = 'template0' WITH TEMPLATE = 'template0'
OWNER = create_drop_db_test_user OWNER = create_drop_db_test_user
CONNECTION LIMIT = 10 CONNECTION LIMIT = 10
ENCODING = 'UTF8' ENCODING = 'UTF8'
STRATEGY = 'wal_log'
LOCALE = 'C'
LC_COLLATE = 'C' LC_COLLATE = 'C'
LC_CTYPE = 'C' LC_CTYPE = 'C'
ICU_LOCALE = 'C'
LOCALE_PROVIDER = 'icu'
COLLATION_VERSION = '1.0'
TABLESPACE = test_tablespace TABLESPACE = test_tablespace
ALLOW_CONNECTIONS = true ALLOW_CONNECTIONS = true
IS_TEMPLATE = false IS_TEMPLATE = false;
OID = 966345; SELECT pd.datname , pd.datdba, pd.encoding,
SELECT pd.datname , pd.datdba, pd.encoding, pd.datlocprovider,
pd.datistemplate, pd.datallowconn, pd.datconnlimit, pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.daticulocale, pd.datcollversion, pd.datcollate , pd. datctype , pd.datacl, rolname AS database_owner,
pd.datacl, rolname AS database_owner, pa.rolname AS database_owner, pt.spcname AS tablespace pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase'; WHERE datname = 'mydatabase';
datname | datdba | encoding | datlocprovider | datistemplate | datallowconn | datconnlimit | datcollate | datctype | daticulocale | datcollversion | datacl | database_owner | database_owner | tablespace datname | datdba | encoding | datistemplate | datallowconn | datconnlimit | datcollate | datctype | datacl | database_owner | database_owner | tablespace
--------------------------------------------------------------------- ---------------------------------------------------------------------
mydatabase | 17343 | 6 | i | f | t | 10 | C | C | C | 1.0 | | create_drop_db_test_user | create_drop_db_test_user | test_tablespace mydatabase | 17344 | 6 | f | t | 10 | C | C | | create_drop_db_test_user | create_drop_db_test_user | test_tablespace
(1 row) (1 row)
drop database mydatabase; \c - - - :worker_1_port
SELECT pd.datname , pd.datdba, pd.encoding, pd.datlocprovider, SELECT pd.datname , pd.datdba, pd.encoding,
pd.datistemplate, pd.datallowconn, pd.datconnlimit, pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.daticulocale, pd.datcollversion, pd.datcollate , pd. datctype , pd.datacl, rolname AS database_owner,
pd.datacl, rolname AS database_owner, pa.rolname AS database_owner, pt.spcname AS tablespace pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase'; WHERE datname = 'mydatabase';
datname | datdba | encoding | datlocprovider | datistemplate | datallowconn | datconnlimit | datcollate | datctype | daticulocale | datcollversion | datacl | database_owner | database_owner | tablespace datname | datdba | encoding | datistemplate | datallowconn | datconnlimit | datcollate | datctype | datacl | database_owner | database_owner | tablespace
---------------------------------------------------------------------
mydatabase | 17404 | 6 | f | t | 10 | C | C | | create_drop_db_test_user | create_drop_db_test_user | test_tablespace
(1 row)
\c - - - :worker_2_port
SELECT pd.datname , pd.datdba, pd.encoding,
pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.datacl, rolname AS database_owner,
pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase';
datname | datdba | encoding | datistemplate | datallowconn | datconnlimit | datcollate | datctype | datacl | database_owner | database_owner | tablespace
---------------------------------------------------------------------
mydatabase | 17404 | 6 | f | t | 10 | C | C | | create_drop_db_test_user | create_drop_db_test_user | test_tablespace
(1 row)
\c - - - :master_port
set citus.enable_create_database_propagation=on;
drop database mydatabase;
SELECT pd.datname , pd.datdba, pd.encoding,
pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.datacl, rolname AS database_owner,
pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase';
datname | datdba | encoding | datistemplate | datallowconn | datconnlimit | datcollate | datctype | datacl | database_owner | database_owner | tablespace
--------------------------------------------------------------------- ---------------------------------------------------------------------
(0 rows) (0 rows)
\c - - - :worker_1_port
SELECT pd.datname , pd.datdba, pd.encoding,
pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.datacl, rolname AS database_owner,
pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase';
datname | datdba | encoding | datistemplate | datallowconn | datconnlimit | datcollate | datctype | datacl | database_owner | database_owner | tablespace
---------------------------------------------------------------------
(0 rows)
\c - - - :worker_2_port
SELECT pd.datname , pd.datdba, pd.encoding,
pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.datacl, rolname AS database_owner,
pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase';
datname | datdba | encoding | datistemplate | datallowconn | datconnlimit | datcollate | datctype | datacl | database_owner | database_owner | tablespace
---------------------------------------------------------------------
(0 rows)
\c - - - :master_port
drop tablespace create_drop_db_tablespace;
\c - - - :worker_1_port
drop tablespace create_drop_db_tablespace;
\c - - - :worker_2_port
drop tablespace create_drop_db_tablespace;
\c - - - :master_port
drop user create_drop_db_test_user; drop user create_drop_db_test_user;
set citus.enable_create_database_propagation=off;

View File

@ -586,59 +586,19 @@ WHERE f.numeric_column = s.numeric_column;
-- test new regex functions -- test new regex functions
-- print order comments that contain the word `fluffily` at least twice -- print order comments that contain the word `fluffily` at least twice
SELECT o_comment FROM public.orders WHERE regexp_count(o_comment, 'FluFFily', 1, 'i')>=2 ORDER BY 1; SELECT o_comment FROM public.orders WHERE regexp_count(o_comment, 'FluFFily', 1, 'i')>=2 ORDER BY 1;
o_comment ERROR: relation "public.orders" does not exist
---------------------------------------------------------------------
al, bold deposits cajole fluffily fluffily final foxes. pending ideas beli
ly regular packages are fluffily even ideas. fluffily final
ng instructions integrate fluffily among the fluffily silent accounts. bli
ructions wake fluffily fluffily final gifts! furiou
s boost blithely fluffily idle ideas? fluffily even pin
(5 rows)
-- print the same items using a different regexp function -- print the same items using a different regexp function
SELECT o_comment FROM public.orders WHERE regexp_like(o_comment, 'fluffily.*fluffily') ORDER BY 1; SELECT o_comment FROM public.orders WHERE regexp_like(o_comment, 'fluffily.*fluffily') ORDER BY 1;
o_comment ERROR: relation "public.orders" does not exist
---------------------------------------------------------------------
al, bold deposits cajole fluffily fluffily final foxes. pending ideas beli
ly regular packages are fluffily even ideas. fluffily final
ng instructions integrate fluffily among the fluffily silent accounts. bli
ructions wake fluffily fluffily final gifts! furiou
s boost blithely fluffily idle ideas? fluffily even pin
(5 rows)
-- print the position where we find the second fluffily in the comment -- print the position where we find the second fluffily in the comment
SELECT o_comment, regexp_instr(o_comment, 'fluffily.*(fluffily)') FROM public.orders ORDER BY 2 desc LIMIT 5; SELECT o_comment, regexp_instr(o_comment, 'fluffily.*(fluffily)') FROM public.orders ORDER BY 2 desc LIMIT 5;
o_comment | regexp_instr ERROR: relation "public.orders" does not exist
---------------------------------------------------------------------
ng instructions integrate fluffily among the fluffily silent accounts. bli | 27
al, bold deposits cajole fluffily fluffily final foxes. pending ideas beli | 26
ly regular packages are fluffily even ideas. fluffily final | 25
s boost blithely fluffily idle ideas? fluffily even pin | 18
ructions wake fluffily fluffily final gifts! furiou | 15
(5 rows)
-- print the substrings between two `fluffily` -- print the substrings between two `fluffily`
SELECT regexp_substr(o_comment, 'fluffily.*fluffily') FROM public.orders ORDER BY 1 LIMIT 5; SELECT regexp_substr(o_comment, 'fluffily.*fluffily') FROM public.orders ORDER BY 1 LIMIT 5;
regexp_substr ERROR: relation "public.orders" does not exist
---------------------------------------------------------------------
fluffily among the fluffily
fluffily even ideas. fluffily
fluffily fluffily
fluffily fluffily
fluffily idle ideas? fluffily
(5 rows)
-- replace second `fluffily` with `silkily` -- replace second `fluffily` with `silkily`
SELECT regexp_replace(o_comment, 'fluffily', 'silkily', 1, 2) FROM public.orders WHERE regexp_like(o_comment, 'fluffily.*fluffily') ORDER BY 1 desc; SELECT regexp_replace(o_comment, 'fluffily', 'silkily', 1, 2) FROM public.orders WHERE regexp_like(o_comment, 'fluffily.*fluffily') ORDER BY 1 desc;
regexp_replace ERROR: relation "public.orders" does not exist
---------------------------------------------------------------------
s boost blithely fluffily idle ideas? silkily even pin
ructions wake fluffily silkily final gifts! furiou
ng instructions integrate fluffily among the silkily silent accounts. bli
ly regular packages are fluffily even ideas. silkily final
al, bold deposits cajole fluffily silkily final foxes. pending ideas beli
(5 rows)
-- test new COPY features -- test new COPY features
-- COPY TO statements with text format and headers -- COPY TO statements with text format and headers
CREATE TABLE copy_test(id int, data int); CREATE TABLE copy_test(id int, data int);
@ -1536,3 +1496,121 @@ SET client_min_messages TO ERROR;
DROP SCHEMA pg15 CASCADE; DROP SCHEMA pg15 CASCADE;
DROP ROLE rls_tenant_1; DROP ROLE rls_tenant_1;
DROP ROLE rls_tenant_2; DROP ROLE rls_tenant_2;
-- create/drop database for pg > 15
\set create_drop_db_tablespace :abs_srcdir '/tmp_check/ts3'
CREATE TABLESPACE create_drop_db_tablespace LOCATION :'create_drop_db_tablespace';
\c - - - :worker_1_port
\set create_drop_db_tablespace :abs_srcdir '/tmp_check/ts4'
CREATE TABLESPACE create_drop_db_tablespace LOCATION :'create_drop_db_tablespace';
\c - - - :worker_2_port
\set create_drop_db_tablespace :abs_srcdir '/tmp_check/ts5'
CREATE TABLESPACE create_drop_db_tablespace LOCATION :'create_drop_db_tablespace';
\c - - - :master_port
create user create_drop_db_test_user;
set citus.enable_create_database_propagation=on;
CREATE DATABASE mydatabase
WITH TEMPLATE = 'template0'
OWNER = create_drop_db_test_user
CONNECTION LIMIT = 10
ENCODING = 'UTF8'
STRATEGY = 'wal_log'
LOCALE = 'C'
LC_COLLATE = 'C'
LC_CTYPE = 'C'
ICU_LOCALE = 'C'
LOCALE_PROVIDER = 'icu'
COLLATION_VERSION = '1.0'
TABLESPACE = create_drop_db_tablespace
ALLOW_CONNECTIONS = true
IS_TEMPLATE = false
OID = 966345;
SELECT pd.datname , pd.datdba, pd.encoding, pd.datlocprovider,
pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.daticulocale, pd.datcollversion,
pd.datacl, rolname AS database_owner, pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase';
datname | datdba | encoding | datlocprovider | datistemplate | datallowconn | datconnlimit | datcollate | datctype | daticulocale | datcollversion | datacl | database_owner | database_owner | tablespace
---------------------------------------------------------------------
mydatabase | 17851 | 6 | i | f | t | 10 | C | C | C | 1.0 | | create_drop_db_test_user | create_drop_db_test_user | create_drop_db_tablespace
(1 row)
\c - - - :worker_1_port
SELECT pd.datname , pd.datdba, pd.encoding, pd.datlocprovider,
pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.daticulocale, pd.datcollversion,
pd.datacl, rolname AS database_owner, pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase';
datname | datdba | encoding | datlocprovider | datistemplate | datallowconn | datconnlimit | datcollate | datctype | daticulocale | datcollversion | datacl | database_owner | database_owner | tablespace
---------------------------------------------------------------------
mydatabase | 18201 | 6 | i | f | t | 10 | C | C | C | 1.0 | | create_drop_db_test_user | create_drop_db_test_user | create_drop_db_tablespace
(1 row)
\c - - - :worker_2_port
SELECT pd.datname , pd.datdba, pd.encoding, pd.datlocprovider,
pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.daticulocale, pd.datcollversion,
pd.datacl, rolname AS database_owner, pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase';
datname | datdba | encoding | datlocprovider | datistemplate | datallowconn | datconnlimit | datcollate | datctype | daticulocale | datcollversion | datacl | database_owner | database_owner | tablespace
---------------------------------------------------------------------
mydatabase | 18174 | 6 | i | f | t | 10 | C | C | C | 1.0 | | create_drop_db_test_user | create_drop_db_test_user | create_drop_db_tablespace
(1 row)
\c - - - :master_port
set citus.enable_create_database_propagation=on;
drop database mydatabase;
SELECT pd.datname , pd.datdba, pd.encoding, pd.datlocprovider,
pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.daticulocale, pd.datcollversion,
pd.datacl, rolname AS database_owner, pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase';
datname | datdba | encoding | datlocprovider | datistemplate | datallowconn | datconnlimit | datcollate | datctype | daticulocale | datcollversion | datacl | database_owner | database_owner | tablespace
---------------------------------------------------------------------
(0 rows)
\c - - - :worker_1_port
SELECT pd.datname , pd.datdba, pd.encoding, pd.datlocprovider,
pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.daticulocale, pd.datcollversion,
pd.datacl, rolname AS database_owner, pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase';
datname | datdba | encoding | datlocprovider | datistemplate | datallowconn | datconnlimit | datcollate | datctype | daticulocale | datcollversion | datacl | database_owner | database_owner | tablespace
---------------------------------------------------------------------
(0 rows)
\c - - - :worker_2_port
SELECT pd.datname , pd.datdba, pd.encoding, pd.datlocprovider,
pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.daticulocale, pd.datcollversion,
pd.datacl, rolname AS database_owner, pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase';
datname | datdba | encoding | datlocprovider | datistemplate | datallowconn | datconnlimit | datcollate | datctype | daticulocale | datcollversion | datacl | database_owner | database_owner | tablespace
---------------------------------------------------------------------
(0 rows)
\c - - - :master_port
drop tablespace create_drop_db_tablespace;
\c - - - :worker_1_port
drop tablespace create_drop_db_tablespace;
\c - - - :worker_2_port
drop tablespace create_drop_db_tablespace;
\c - - - :master_port
drop user create_drop_db_test_user;

View File

@ -630,7 +630,7 @@ for my $port (@followerWorkerPorts)
} }
} }
for my $tablespace ("ts0", "ts1", "ts2") for my $tablespace ("ts0", "ts1", "ts2", "ts3", "ts4", "ts5")
{ {
if (-e catfile($TMP_CHECKDIR, $tablespace)) if (-e catfile($TMP_CHECKDIR, $tablespace))
{ {

View File

@ -1,45 +1,111 @@
set citus.enable_create_database_propagation=on;
\set create_drop_db_tablespace :abs_srcdir '/tmp_check/ts3'
CREATE TABLESPACE create_drop_db_tablespace LOCATION :'create_drop_db_tablespace';
\c - - - :worker_1_port
\set create_drop_db_tablespace :abs_srcdir '/tmp_check/ts4'
CREATE TABLESPACE create_drop_db_tablespace LOCATION :'create_drop_db_tablespace';
\c - - - :worker_2_port
\set create_drop_db_tablespace :abs_srcdir '/tmp_check/ts5'
CREATE TABLESPACE create_drop_db_tablespace LOCATION :'create_drop_db_tablespace';
\c - - - :master_port
create user create_drop_db_test_user; create user create_drop_db_test_user;
set citus.enable_create_database_propagation=on;
CREATE DATABASE mydatabase CREATE DATABASE mydatabase
WITH TEMPLATE = 'template0' WITH TEMPLATE = 'template0'
OWNER = create_drop_db_test_user OWNER = create_drop_db_test_user
CONNECTION LIMIT = 10 CONNECTION LIMIT = 10
ENCODING = 'UTF8' ENCODING = 'UTF8'
STRATEGY = 'wal_log'
LOCALE = 'C'
LC_COLLATE = 'C' LC_COLLATE = 'C'
LC_CTYPE = 'C' LC_CTYPE = 'C'
ICU_LOCALE = 'C'
LOCALE_PROVIDER = 'icu'
COLLATION_VERSION = '1.0'
TABLESPACE = test_tablespace TABLESPACE = test_tablespace
ALLOW_CONNECTIONS = true ALLOW_CONNECTIONS = true
IS_TEMPLATE = false IS_TEMPLATE = false;
OID = 966345;
SELECT pd.datname , pd.datdba, pd.encoding, pd.datlocprovider, SELECT pd.datname , pd.datdba, pd.encoding,
pd.datistemplate, pd.datallowconn, pd.datconnlimit, pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.daticulocale, pd.datcollversion, pd.datcollate , pd. datctype , pd.datacl, rolname AS database_owner,
pd.datacl, rolname AS database_owner, pa.rolname AS database_owner, pt.spcname AS tablespace pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase'; WHERE datname = 'mydatabase';
\c - - - :worker_1_port
SELECT pd.datname , pd.datdba, pd.encoding,
pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.datacl, rolname AS database_owner,
pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase';
\c - - - :worker_2_port
SELECT pd.datname , pd.datdba, pd.encoding,
pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.datacl, rolname AS database_owner,
pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase';
\c - - - :master_port
set citus.enable_create_database_propagation=on;
drop database mydatabase; drop database mydatabase;
SELECT pd.datname , pd.datdba, pd.encoding, pd.datlocprovider, SELECT pd.datname , pd.datdba, pd.encoding,
pd.datistemplate, pd.datallowconn, pd.datconnlimit, pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.daticulocale, pd.datcollversion, pd.datcollate , pd. datctype , pd.datacl, rolname AS database_owner,
pd.datacl, rolname AS database_owner, pa.rolname AS database_owner, pt.spcname AS tablespace pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase'; WHERE datname = 'mydatabase';
\c - - - :worker_1_port
SELECT pd.datname , pd.datdba, pd.encoding,
pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.datacl, rolname AS database_owner,
pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase';
\c - - - :worker_2_port
SELECT pd.datname , pd.datdba, pd.encoding,
pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.datacl, rolname AS database_owner,
pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase';
\c - - - :master_port
drop tablespace create_drop_db_tablespace;
\c - - - :worker_1_port
drop tablespace create_drop_db_tablespace;
\c - - - :worker_2_port
drop tablespace create_drop_db_tablespace;
\c - - - :master_port
drop user create_drop_db_test_user; drop user create_drop_db_test_user;
set citus.enable_create_database_propagation=off;

View File

@ -976,3 +976,115 @@ SET client_min_messages TO ERROR;
DROP SCHEMA pg15 CASCADE; DROP SCHEMA pg15 CASCADE;
DROP ROLE rls_tenant_1; DROP ROLE rls_tenant_1;
DROP ROLE rls_tenant_2; DROP ROLE rls_tenant_2;
-- create/drop database for pg > 15
\set create_drop_db_tablespace :abs_srcdir '/tmp_check/ts3'
CREATE TABLESPACE create_drop_db_tablespace LOCATION :'create_drop_db_tablespace';
\c - - - :worker_1_port
\set create_drop_db_tablespace :abs_srcdir '/tmp_check/ts4'
CREATE TABLESPACE create_drop_db_tablespace LOCATION :'create_drop_db_tablespace';
\c - - - :worker_2_port
\set create_drop_db_tablespace :abs_srcdir '/tmp_check/ts5'
CREATE TABLESPACE create_drop_db_tablespace LOCATION :'create_drop_db_tablespace';
\c - - - :master_port
create user create_drop_db_test_user;
set citus.enable_create_database_propagation=on;
CREATE DATABASE mydatabase
WITH TEMPLATE = 'template0'
OWNER = create_drop_db_test_user
CONNECTION LIMIT = 10
ENCODING = 'UTF8'
STRATEGY = 'wal_log'
LOCALE = 'C'
LC_COLLATE = 'C'
LC_CTYPE = 'C'
ICU_LOCALE = 'C'
LOCALE_PROVIDER = 'icu'
COLLATION_VERSION = '1.0'
TABLESPACE = create_drop_db_tablespace
ALLOW_CONNECTIONS = true
IS_TEMPLATE = false
OID = 966345;
SELECT pd.datname , pd.datdba, pd.encoding, pd.datlocprovider,
pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.daticulocale, pd.datcollversion,
pd.datacl, rolname AS database_owner, pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase';
\c - - - :worker_1_port
SELECT pd.datname , pd.datdba, pd.encoding, pd.datlocprovider,
pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.daticulocale, pd.datcollversion,
pd.datacl, rolname AS database_owner, pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase';
\c - - - :worker_2_port
SELECT pd.datname , pd.datdba, pd.encoding, pd.datlocprovider,
pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.daticulocale, pd.datcollversion,
pd.datacl, rolname AS database_owner, pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase';
\c - - - :master_port
set citus.enable_create_database_propagation=on;
drop database mydatabase;
SELECT pd.datname , pd.datdba, pd.encoding, pd.datlocprovider,
pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.daticulocale, pd.datcollversion,
pd.datacl, rolname AS database_owner, pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase';
\c - - - :worker_1_port
SELECT pd.datname , pd.datdba, pd.encoding, pd.datlocprovider,
pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.daticulocale, pd.datcollversion,
pd.datacl, rolname AS database_owner, pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase';
\c - - - :worker_2_port
SELECT pd.datname , pd.datdba, pd.encoding, pd.datlocprovider,
pd.datistemplate, pd.datallowconn, pd.datconnlimit,
pd.datcollate , pd. datctype , pd.daticulocale, pd.datcollversion,
pd.datacl, rolname AS database_owner, pa.rolname AS database_owner, pt.spcname AS tablespace
FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid
join pg_tablespace pt on pd.dattablespace = pt.oid
WHERE datname = 'mydatabase';
\c - - - :master_port
drop tablespace create_drop_db_tablespace;
\c - - - :worker_1_port
drop tablespace create_drop_db_tablespace;
\c - - - :worker_2_port
drop tablespace create_drop_db_tablespace;
\c - - - :master_port
drop user create_drop_db_test_user;