mirror of https://github.com/citusdata/citus.git
83 lines
7.2 KiB
Plaintext
83 lines
7.2 KiB
Plaintext
--
|
|
-- PG15
|
|
--
|
|
SHOW server_version \gset
|
|
SELECT substring(:'server_version', '\d+')::int >= 15 AS server_version_ge_15
|
|
\gset
|
|
\if :server_version_ge_15
|
|
\else
|
|
\q
|
|
\endif
|
|
-- create/drop database for pg >= 15
|
|
set citus.enable_create_database_propagation=on;
|
|
CREATE DATABASE mydatabase
|
|
WITH OID = 966345;
|
|
ERROR: CREATE DATABASE option "oid" is not supported
|
|
CREATE DATABASE mydatabase
|
|
WITH strategy file_copy;
|
|
ERROR: Only wal_log is supported as strategy parameter for CREATE DATABASE
|
|
CREATE DATABASE st_wal_log
|
|
WITH strategy WaL_LoG;
|
|
SELECT * FROM public.check_database_on_all_nodes('st_wal_log') ORDER BY node_type;
|
|
node_type | result
|
|
---------------------------------------------------------------------
|
|
coordinator (local) | {"database_properties": {"datacl": null, "datname": "st_wal_log", "datctype": "C", "encoding": "UTF8", "datcollate": "C", "tablespace": "pg_default", "daticurules": null, "datallowconn": true, "datconnlimit": -1, "daticulocale": null, "datistemplate": false, "database_owner": "postgres", "datcollversion": null, "datlocprovider": "c"}, "pg_dist_object_record_for_db_exists": true, "stale_pg_dist_object_record_for_a_db_exists": false}
|
|
worker node (remote) | {"database_properties": {"datacl": null, "datname": "st_wal_log", "datctype": "C", "encoding": "UTF8", "datcollate": "C", "tablespace": "pg_default", "daticurules": null, "datallowconn": true, "datconnlimit": -1, "daticulocale": null, "datistemplate": false, "database_owner": "postgres", "datcollversion": null, "datlocprovider": "c"}, "pg_dist_object_record_for_db_exists": true, "stale_pg_dist_object_record_for_a_db_exists": false}
|
|
worker node (remote) | {"database_properties": {"datacl": null, "datname": "st_wal_log", "datctype": "C", "encoding": "UTF8", "datcollate": "C", "tablespace": "pg_default", "daticurules": null, "datallowconn": true, "datconnlimit": -1, "daticulocale": null, "datistemplate": false, "database_owner": "postgres", "datcollversion": null, "datlocprovider": "c"}, "pg_dist_object_record_for_db_exists": true, "stale_pg_dist_object_record_for_a_db_exists": false}
|
|
(3 rows)
|
|
|
|
drop database st_wal_log;
|
|
select 1 from citus_remove_node('localhost', :worker_2_port);
|
|
?column?
|
|
---------------------------------------------------------------------
|
|
1
|
|
(1 row)
|
|
|
|
-- test COLLATION_VERSION
|
|
CREATE DATABASE test_collation_version
|
|
WITH ENCODING = 'UTF8'
|
|
COLLATION_VERSION = '1.0'
|
|
ALLOW_CONNECTIONS = false;
|
|
select 1 from citus_add_node('localhost', :worker_2_port);
|
|
?column?
|
|
---------------------------------------------------------------------
|
|
1
|
|
(1 row)
|
|
|
|
SELECT * FROM public.check_database_on_all_nodes('test_collation_version') ORDER BY node_type;
|
|
node_type | result
|
|
---------------------------------------------------------------------
|
|
coordinator (local) | {"database_properties": {"datacl": null, "datname": "test_collation_version", "datctype": "C", "encoding": "UTF8", "datcollate": "C", "tablespace": "pg_default", "daticurules": null, "datallowconn": false, "datconnlimit": -1, "daticulocale": null, "datistemplate": false, "database_owner": "postgres", "datcollversion": "1.0", "datlocprovider": "c"}, "pg_dist_object_record_for_db_exists": true, "stale_pg_dist_object_record_for_a_db_exists": false}
|
|
worker node (remote) | {"database_properties": {"datacl": null, "datname": "test_collation_version", "datctype": "C", "encoding": "UTF8", "datcollate": "C", "tablespace": "pg_default", "daticurules": null, "datallowconn": false, "datconnlimit": -1, "daticulocale": null, "datistemplate": false, "database_owner": "postgres", "datcollversion": "1.0", "datlocprovider": "c"}, "pg_dist_object_record_for_db_exists": true, "stale_pg_dist_object_record_for_a_db_exists": false}
|
|
worker node (remote) | {"database_properties": {"datacl": null, "datname": "test_collation_version", "datctype": "C", "encoding": "UTF8", "datcollate": "C", "tablespace": "pg_default", "daticurules": null, "datallowconn": false, "datconnlimit": -1, "daticulocale": null, "datistemplate": false, "database_owner": "postgres", "datcollversion": "1.0", "datlocprovider": "c"}, "pg_dist_object_record_for_db_exists": true, "stale_pg_dist_object_record_for_a_db_exists": false}
|
|
(3 rows)
|
|
|
|
drop database test_collation_version;
|
|
SET client_min_messages TO WARNING;
|
|
-- test LOCALE_PROVIDER & ICU_LOCALE
|
|
CREATE DATABASE test_locale_provider
|
|
WITH ENCODING = 'UTF8'
|
|
LOCALE_PROVIDER = 'icu'
|
|
ICU_LOCALE = 'en_US';
|
|
ERROR: new locale provider (icu) does not match locale provider of the template database (libc)
|
|
HINT: Use the same locale provider as in the template database, or use template0 as template.
|
|
RESET client_min_messages;
|
|
CREATE DATABASE test_locale_provider
|
|
WITH ENCODING = 'UTF8'
|
|
LOCALE_PROVIDER = 'libc'
|
|
ICU_LOCALE = 'en_US';
|
|
ERROR: ICU locale cannot be specified unless locale provider is ICU
|
|
CREATE DATABASE test_locale_provider
|
|
WITH ENCODING = 'UTF8'
|
|
LOCALE_PROVIDER = 'libc';
|
|
SELECT * FROM public.check_database_on_all_nodes('test_locale_provider') ORDER BY node_type;
|
|
node_type | result
|
|
---------------------------------------------------------------------
|
|
coordinator (local) | {"database_properties": {"datacl": null, "datname": "test_locale_provider", "datctype": "C", "encoding": "UTF8", "datcollate": "C", "tablespace": "pg_default", "daticurules": null, "datallowconn": true, "datconnlimit": -1, "daticulocale": null, "datistemplate": false, "database_owner": "postgres", "datcollversion": null, "datlocprovider": "c"}, "pg_dist_object_record_for_db_exists": true, "stale_pg_dist_object_record_for_a_db_exists": false}
|
|
worker node (remote) | {"database_properties": {"datacl": null, "datname": "test_locale_provider", "datctype": "C", "encoding": "UTF8", "datcollate": "C", "tablespace": "pg_default", "daticurules": null, "datallowconn": true, "datconnlimit": -1, "daticulocale": null, "datistemplate": false, "database_owner": "postgres", "datcollversion": null, "datlocprovider": "c"}, "pg_dist_object_record_for_db_exists": true, "stale_pg_dist_object_record_for_a_db_exists": false}
|
|
worker node (remote) | {"database_properties": {"datacl": null, "datname": "test_locale_provider", "datctype": "C", "encoding": "UTF8", "datcollate": "C", "tablespace": "pg_default", "daticurules": null, "datallowconn": true, "datconnlimit": -1, "daticulocale": null, "datistemplate": false, "database_owner": "postgres", "datcollversion": null, "datlocprovider": "c"}, "pg_dist_object_record_for_db_exists": true, "stale_pg_dist_object_record_for_a_db_exists": false}
|
|
(3 rows)
|
|
|
|
drop database test_locale_provider;
|
|
\c - - - :master_port
|