mirror of https://github.com/citusdata/citus.git
Fixes tests
parent
e46c9cff9b
commit
0b562db7df
|
@ -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;
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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))
|
||||||
{
|
{
|
||||||
|
|
|
@ -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;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue