mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-17 02:53:51 +08:00
Fix port conversion issue in add_data_node
This change fixes an issue with port conversion in the `add_data_node` command that results in an error when a port is not explicitly given and PostgreSQL is configured to use a high port number. Note that this issue does _not_ occur when the port number is given as an explicit argument to `add_data_node`. The underlying issue is that, without an explicit port number, the remote port is assumed to be the same as the port configured for the local server instance. The conversion of that port number was done using a _signed_ two-byte integer, while the valid port range fits within an _unsigned_ two-byte integer. To test higher port ranges without an explicit argument to `add_data_node`, the default port for test instances has been updated to a high port number to test integer range overflow for small signed integers.
This commit is contained in:
parent
0f2d7251cf
commit
26c6e156d7
@ -301,7 +301,7 @@ process_create_foreign_server_start(ProcessUtilityArgs *args)
|
|||||||
if (strcmp(EXTENSION_FDW_NAME, stmt->fdwname) == 0)
|
if (strcmp(EXTENSION_FDW_NAME, stmt->fdwname) == 0)
|
||||||
ereport(ERROR,
|
ereport(ERROR,
|
||||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||||
errmsg("operation not supported on a TimescaleDB data node"),
|
errmsg("operation not supported for a TimescaleDB data node"),
|
||||||
errhint("Use add_data_node() to add data nodes to a "
|
errhint("Use add_data_node() to add data nodes to a "
|
||||||
"TimescaleDB distributed database.")));
|
"TimescaleDB distributed database.")));
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ set(TEST_PGPORT_LOCAL 5432 CACHE STRING "The port of a running PostgreSQL instan
|
|||||||
set(TEST_PGHOST localhost CACHE STRING "The hostname of a running PostgreSQL instance")
|
set(TEST_PGHOST localhost CACHE STRING "The hostname of a running PostgreSQL instance")
|
||||||
set(TEST_PGUSER ${TEST_ROLE_DEFAULT_PERM_USER} CACHE STRING "The PostgreSQL test user")
|
set(TEST_PGUSER ${TEST_ROLE_DEFAULT_PERM_USER} CACHE STRING "The PostgreSQL test user")
|
||||||
set(TEST_DBNAME single CACHE STRING "The database name to use for tests")
|
set(TEST_DBNAME single CACHE STRING "The database name to use for tests")
|
||||||
set(TEST_PGPORT_TEMP_INSTANCE 15432 CACHE STRING "The port to run a temporary test PostgreSQL instance on")
|
set(TEST_PGPORT_TEMP_INSTANCE 55432 CACHE STRING "The port to run a temporary test PostgreSQL instance on")
|
||||||
set(TEST_SCHEDULE ${CMAKE_CURRENT_BINARY_DIR}/test_schedule)
|
set(TEST_SCHEDULE ${CMAKE_CURRENT_BINARY_DIR}/test_schedule)
|
||||||
set(TEST_SCHEDULE_SHARED ${CMAKE_CURRENT_BINARY_DIR}/shared/test_schedule_shared)
|
set(TEST_SCHEDULE_SHARED ${CMAKE_CURRENT_BINARY_DIR}/shared/test_schedule_shared)
|
||||||
set(ISOLATION_TEST_SCHEDULE ${CMAKE_CURRENT_BINARY_DIR}/isolation_test_schedule)
|
set(ISOLATION_TEST_SCHEDULE ${CMAKE_CURRENT_BINARY_DIR}/isolation_test_schedule)
|
||||||
@ -135,4 +135,3 @@ if (${PG_VERSION_MAJOR} GREATER "9")
|
|||||||
else ()
|
else ()
|
||||||
set(TEST_VERSION_SUFFIX ${PG_VERSION_MAJOR}.${PG_VERSION_MINOR})
|
set(TEST_VERSION_SUFFIX ${PG_VERSION_MAJOR}.${PG_VERSION_MINOR})
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
@ -591,7 +591,7 @@ get_server_port()
|
|||||||
{
|
{
|
||||||
const char *const portstr =
|
const char *const portstr =
|
||||||
GetConfigOption("port", /* missing_ok= */ false, /* restrict_privileged= */ false);
|
GetConfigOption("port", /* missing_ok= */ false, /* restrict_privileged= */ false);
|
||||||
return pg_atoi(portstr, 2, 0);
|
return pg_atoi(portstr, sizeof(int32), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* set_distid may need to be false for some otherwise invalid configurations
|
/* set_distid may need to be false for some otherwise invalid configurations
|
||||||
@ -604,7 +604,7 @@ data_node_add_internal(PG_FUNCTION_ARGS, bool set_distid)
|
|||||||
const char *node_name = PG_ARGISNULL(0) ? NULL : PG_GETARG_CSTRING(0);
|
const char *node_name = PG_ARGISNULL(0) ? NULL : PG_GETARG_CSTRING(0);
|
||||||
const char *host = PG_ARGISNULL(1) ? NULL : TextDatumGetCString(PG_GETARG_DATUM(1));
|
const char *host = PG_ARGISNULL(1) ? NULL : TextDatumGetCString(PG_GETARG_DATUM(1));
|
||||||
const char *dbname = PG_ARGISNULL(2) ? get_database_name(MyDatabaseId) : PG_GETARG_CSTRING(2);
|
const char *dbname = PG_ARGISNULL(2) ? get_database_name(MyDatabaseId) : PG_GETARG_CSTRING(2);
|
||||||
long port = PG_ARGISNULL(3) ? get_server_port() : PG_GETARG_INT32(3);
|
int32 port = PG_ARGISNULL(3) ? get_server_port() : PG_GETARG_INT32(3);
|
||||||
bool if_not_exists = PG_ARGISNULL(4) ? false : PG_GETARG_BOOL(4);
|
bool if_not_exists = PG_ARGISNULL(4) ? false : PG_GETARG_BOOL(4);
|
||||||
bool bootstrap = PG_ARGISNULL(5) ? true : PG_GETARG_BOOL(5);
|
bool bootstrap = PG_ARGISNULL(5) ? true : PG_GETARG_BOOL(5);
|
||||||
bool server_created = false;
|
bool server_created = false;
|
||||||
@ -633,7 +633,7 @@ data_node_add_internal(PG_FUNCTION_ARGS, bool set_distid)
|
|||||||
if (port < 1 || port > PG_UINT16_MAX)
|
if (port < 1 || port > PG_UINT16_MAX)
|
||||||
ereport(ERROR,
|
ereport(ERROR,
|
||||||
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
|
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
|
||||||
(errmsg("invalid port"),
|
(errmsg("invalid port number %d", port),
|
||||||
errhint("The port number must be between 1 and %u", PG_UINT16_MAX))));
|
errhint("The port number must be between 1 and %u", PG_UINT16_MAX))));
|
||||||
|
|
||||||
result = get_database_info(MyDatabaseId, &database);
|
result = get_database_info(MyDatabaseId, &database);
|
||||||
|
@ -210,14 +210,14 @@ SELECT * FROM add_data_node('data_node_1', host => 'localhost',
|
|||||||
database => 'data_node_1');
|
database => 'data_node_1');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_1 | localhost | 15432 | data_node_1 | t | t | t
|
data_node_1 | localhost | 55432 | data_node_1 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
||||||
database => 'data_node_2');
|
database => 'data_node_2');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_2 | localhost | 15432 | data_node_2 | t | t | t
|
data_node_2 | localhost | 55432 | data_node_2 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
GRANT USAGE
|
GRANT USAGE
|
||||||
|
@ -24,21 +24,21 @@ SELECT * FROM add_data_node('data_node_1', host => 'localhost',
|
|||||||
database => 'data_node_1');
|
database => 'data_node_1');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_1 | localhost | 15432 | data_node_1 | t | t | t
|
data_node_1 | localhost | 55432 | data_node_1 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
||||||
database => 'data_node_2');
|
database => 'data_node_2');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_2 | localhost | 15432 | data_node_2 | t | t | t
|
data_node_2 | localhost | 55432 | data_node_2 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
||||||
database => 'data_node_3');
|
database => 'data_node_3');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_3 | localhost | 15432 | data_node_3 | t | t | t
|
data_node_3 | localhost | 55432 | data_node_3 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
CREATE TABLE disttable(time timestamptz, device int, temp float);
|
CREATE TABLE disttable(time timestamptz, device int, temp float);
|
||||||
|
@ -17,14 +17,14 @@ SELECT * FROM add_data_node('data_node_1', host => 'localhost',
|
|||||||
database => 'data_node_1');
|
database => 'data_node_1');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_1 | localhost | 15432 | data_node_1 | t | t | t
|
data_node_1 | localhost | 55432 | data_node_1 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_2', 'localhost',
|
SELECT * FROM add_data_node('data_node_2', 'localhost',
|
||||||
database => 'data_node_2');
|
database => 'data_node_2');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_2 | localhost | 15432 | data_node_2 | t | t | t
|
data_node_2 | localhost | 55432 | data_node_2 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
\set ON_ERROR_STOP 0
|
\set ON_ERROR_STOP 0
|
||||||
@ -42,10 +42,24 @@ SELECT * FROM add_data_node(NULL, host => 'localhost');
|
|||||||
ERROR: invalid data node name
|
ERROR: invalid data node name
|
||||||
SELECT * FROM add_data_node(NULL, NULL);
|
SELECT * FROM add_data_node(NULL, NULL);
|
||||||
ERROR: a host needs to be specified
|
ERROR: a host needs to be specified
|
||||||
|
-- Test invalid port numbers
|
||||||
|
SELECT * FROM add_data_node('data_node_3', 'localhost',
|
||||||
|
port => 65536,
|
||||||
|
database => 'data_node_3');
|
||||||
|
ERROR: invalid port number 65536
|
||||||
|
SELECT * FROM add_data_node('data_node_3', 'localhost',
|
||||||
|
port => 0,
|
||||||
|
database => 'data_node_3');
|
||||||
|
ERROR: invalid port number 0
|
||||||
|
SELECT * FROM add_data_node('data_node_3', 'localhost',
|
||||||
|
port => -1,
|
||||||
|
database => 'data_node_3');
|
||||||
|
ERROR: invalid port number -1
|
||||||
|
SELECT inet_server_port() as PGPORT \gset
|
||||||
-- Adding a data node via ADD SERVER is blocked
|
-- Adding a data node via ADD SERVER is blocked
|
||||||
CREATE SERVER data_node_4 FOREIGN DATA WRAPPER timescaledb_fdw
|
CREATE SERVER data_node_4 FOREIGN DATA WRAPPER timescaledb_fdw
|
||||||
OPTIONS (host 'localhost', port '15432', dbname 'data_node_4');
|
OPTIONS (host 'localhost', port ':PGPORT', dbname 'data_node_4');
|
||||||
ERROR: operation not supported on a TimescaleDB data node
|
ERROR: operation not supported for a TimescaleDB data node
|
||||||
-- Dropping a data node via DROP SERVER is also blocked
|
-- Dropping a data node via DROP SERVER is also blocked
|
||||||
DROP SERVER data_node_1, data_node_2;
|
DROP SERVER data_node_1, data_node_2;
|
||||||
ERROR: operation not supported on a TimescaleDB data node
|
ERROR: operation not supported on a TimescaleDB data node
|
||||||
@ -56,13 +70,13 @@ SELECT * FROM add_data_node('data_node_2', host => 'localhost', database => 'dat
|
|||||||
NOTICE: data node "data_node_2" already exists, skipping
|
NOTICE: data node "data_node_2" already exists, skipping
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_2 | localhost | 15432 | data_node_2 | f | f | f
|
data_node_2 | localhost | 55432 | data_node_2 | f | f | f
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_3', host => 'localhost', database => 'data_node_3');
|
SELECT * FROM add_data_node('data_node_3', host => 'localhost', database => 'data_node_3');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_3 | localhost | 15432 | data_node_3 | t | t | t
|
data_node_3 | localhost | 55432 | data_node_3 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- Test altering server command is blocked
|
-- Test altering server command is blocked
|
||||||
@ -80,9 +94,9 @@ ERROR: alter owner not supported on a TimescaleDB data node
|
|||||||
SELECT node_name, "options" FROM timescaledb_information.data_node ORDER BY node_name;
|
SELECT node_name, "options" FROM timescaledb_information.data_node ORDER BY node_name;
|
||||||
node_name | options
|
node_name | options
|
||||||
-------------+------------------------------------------------
|
-------------+------------------------------------------------
|
||||||
data_node_1 | {host=localhost,port=15432,dbname=data_node_1}
|
data_node_1 | {host=localhost,port=55432,dbname=data_node_1}
|
||||||
data_node_2 | {host=localhost,port=15432,dbname=data_node_2}
|
data_node_2 | {host=localhost,port=55432,dbname=data_node_2}
|
||||||
data_node_3 | {host=localhost,port=15432,dbname=data_node_3}
|
data_node_3 | {host=localhost,port=55432,dbname=data_node_3}
|
||||||
(3 rows)
|
(3 rows)
|
||||||
|
|
||||||
-- Delete a data node
|
-- Delete a data node
|
||||||
@ -96,8 +110,8 @@ SELECT * FROM delete_data_node('data_node_3');
|
|||||||
SELECT node_name, "options" FROM timescaledb_information.data_node ORDER BY node_name;
|
SELECT node_name, "options" FROM timescaledb_information.data_node ORDER BY node_name;
|
||||||
node_name | options
|
node_name | options
|
||||||
-------------+------------------------------------------------
|
-------------+------------------------------------------------
|
||||||
data_node_1 | {host=localhost,port=15432,dbname=data_node_1}
|
data_node_1 | {host=localhost,port=55432,dbname=data_node_1}
|
||||||
data_node_2 | {host=localhost,port=15432,dbname=data_node_2}
|
data_node_2 | {host=localhost,port=55432,dbname=data_node_2}
|
||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
\set ON_ERROR_STOP 0
|
\set ON_ERROR_STOP 0
|
||||||
@ -116,8 +130,8 @@ NOTICE: data node "data_node_3" does not exist, skipping
|
|||||||
SELECT node_name, "options" FROM timescaledb_information.data_node ORDER BY node_name;
|
SELECT node_name, "options" FROM timescaledb_information.data_node ORDER BY node_name;
|
||||||
node_name | options
|
node_name | options
|
||||||
-------------+------------------------------------------------
|
-------------+------------------------------------------------
|
||||||
data_node_1 | {host=localhost,port=15432,dbname=data_node_1}
|
data_node_1 | {host=localhost,port=55432,dbname=data_node_1}
|
||||||
data_node_2 | {host=localhost,port=15432,dbname=data_node_2}
|
data_node_2 | {host=localhost,port=55432,dbname=data_node_2}
|
||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
SELECT * FROM delete_data_node('data_node_1');
|
SELECT * FROM delete_data_node('data_node_1');
|
||||||
@ -149,21 +163,21 @@ SELECT * FROM add_data_node('data_node_1', host => 'localhost',
|
|||||||
database => 'data_node_1');
|
database => 'data_node_1');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_1 | localhost | 15432 | data_node_1 | t | t | t
|
data_node_1 | localhost | 55432 | data_node_1 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
||||||
database => 'data_node_2');
|
database => 'data_node_2');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_2 | localhost | 15432 | data_node_2 | t | t | t
|
data_node_2 | localhost | 55432 | data_node_2 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
||||||
database => 'data_node_3');
|
database => 'data_node_3');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_3 | localhost | 15432 | data_node_3 | t | t | t
|
data_node_3 | localhost | 55432 | data_node_3 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- Allow ROLE_1 to create distributed tables on these data nodes.
|
-- Allow ROLE_1 to create distributed tables on these data nodes.
|
||||||
@ -178,9 +192,9 @@ SELECT node_name, "options"
|
|||||||
ORDER BY node_name;
|
ORDER BY node_name;
|
||||||
node_name | options
|
node_name | options
|
||||||
-------------+------------------------------------------------
|
-------------+------------------------------------------------
|
||||||
data_node_1 | {host=localhost,port=15432,dbname=data_node_1}
|
data_node_1 | {host=localhost,port=55432,dbname=data_node_1}
|
||||||
data_node_2 | {host=localhost,port=15432,dbname=data_node_2}
|
data_node_2 | {host=localhost,port=55432,dbname=data_node_2}
|
||||||
data_node_3 | {host=localhost,port=15432,dbname=data_node_3}
|
data_node_3 | {host=localhost,port=55432,dbname=data_node_3}
|
||||||
(3 rows)
|
(3 rows)
|
||||||
|
|
||||||
SELECT object_name, object_type, ARRAY_AGG(privilege_type)
|
SELECT object_name, object_type, ARRAY_AGG(privilege_type)
|
||||||
@ -311,9 +325,9 @@ INSERT INTO disttable VALUES ('2019-02-02 10:45', 1, 23.4);
|
|||||||
SELECT node_name, "options" FROM timescaledb_information.data_node ORDER BY node_name;
|
SELECT node_name, "options" FROM timescaledb_information.data_node ORDER BY node_name;
|
||||||
node_name | options
|
node_name | options
|
||||||
-------------+------------------------------------------------
|
-------------+------------------------------------------------
|
||||||
data_node_1 | {host=localhost,port=15432,dbname=data_node_1}
|
data_node_1 | {host=localhost,port=55432,dbname=data_node_1}
|
||||||
data_node_2 | {host=localhost,port=15432,dbname=data_node_2}
|
data_node_2 | {host=localhost,port=55432,dbname=data_node_2}
|
||||||
data_node_3 | {host=localhost,port=15432,dbname=data_node_3}
|
data_node_3 | {host=localhost,port=55432,dbname=data_node_3}
|
||||||
(3 rows)
|
(3 rows)
|
||||||
|
|
||||||
DROP TABLE disttable;
|
DROP TABLE disttable;
|
||||||
@ -663,7 +677,7 @@ SELECT * FROM add_data_node('data_node_4', host => 'localhost', database => 'dat
|
|||||||
if_not_exists => true);
|
if_not_exists => true);
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_4 | localhost | 15432 | data_node_4 | t | t | t
|
data_node_4 | localhost | 55432 | data_node_4 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM attach_data_node('data_node_4', 'disttable');
|
SELECT * FROM attach_data_node('data_node_4', 'disttable');
|
||||||
@ -752,21 +766,21 @@ SELECT * FROM add_data_node('data_node_1', host => 'localhost',
|
|||||||
database => 'data_node_1');
|
database => 'data_node_1');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_1 | localhost | 15432 | data_node_1 | t | t | t
|
data_node_1 | localhost | 55432 | data_node_1 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
||||||
database => 'data_node_2');
|
database => 'data_node_2');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_2 | localhost | 15432 | data_node_2 | t | t | t
|
data_node_2 | localhost | 55432 | data_node_2 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
||||||
database => 'data_node_3');
|
database => 'data_node_3');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_3 | localhost | 15432 | data_node_3 | t | t | t
|
data_node_3 | localhost | 55432 | data_node_3 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO PUBLIC;
|
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO PUBLIC;
|
||||||
@ -1126,13 +1140,13 @@ SET ROLE :ROLE_CLUSTER_SUPERUSER;
|
|||||||
SELECT * FROM add_data_node('data_node_4', host => 'localhost', database => 'data_node_4');
|
SELECT * FROM add_data_node('data_node_4', host => 'localhost', database => 'data_node_4');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_4 | localhost | 15432 | data_node_4 | t | t | t
|
data_node_4 | localhost | 55432 | data_node_4 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_5', host => 'localhost', database => 'data_node_5');
|
SELECT * FROM add_data_node('data_node_5', host => 'localhost', database => 'data_node_5');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_5 | localhost | 15432 | data_node_5 | t | t | t
|
data_node_5 | localhost | 55432 | data_node_5 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
GRANT ALL ON FOREIGN SERVER data_node_4, data_node_5 TO PUBLIC;
|
GRANT ALL ON FOREIGN SERVER data_node_4, data_node_5 TO PUBLIC;
|
||||||
|
@ -21,7 +21,7 @@ SET client_min_messages TO NOTICE;
|
|||||||
SELECT * FROM add_data_node('bootstrap_test', host => 'localhost', database => 'bootstrap_test');
|
SELECT * FROM add_data_node('bootstrap_test', host => 'localhost', database => 'bootstrap_test');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
----------------+-----------+-------+----------------+--------------+------------------+-------------------
|
----------------+-----------+-------+----------------+--------------+------------------+-------------------
|
||||||
bootstrap_test | localhost | 15432 | bootstrap_test | t | t | t
|
bootstrap_test | localhost | 55432 | bootstrap_test | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- Ensure database and extensions are installed and have the correct
|
-- Ensure database and extensions are installed and have the correct
|
||||||
@ -79,13 +79,13 @@ SELECT * FROM add_data_node('bootstrap_test', host => 'localhost',
|
|||||||
database => 'bootstrap_test', bootstrap => true);
|
database => 'bootstrap_test', bootstrap => true);
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
----------------+-----------+-------+----------------+--------------+------------------+-------------------
|
----------------+-----------+-------+----------------+--------------+------------------+-------------------
|
||||||
bootstrap_test | localhost | 15432 | bootstrap_test | t | t | t
|
bootstrap_test | localhost | 55432 | bootstrap_test | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM show_data_nodes();
|
SELECT * FROM show_data_nodes();
|
||||||
data_node_name | host | port | dbname
|
data_node_name | host | port | dbname
|
||||||
----------------+-----------+-------+----------------
|
----------------+-----------+-------+----------------
|
||||||
bootstrap_test | localhost | 15432 | bootstrap_test
|
bootstrap_test | localhost | 55432 | bootstrap_test
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
\c :TEST_DBNAME :ROLE_CLUSTER_SUPERUSER;
|
\c :TEST_DBNAME :ROLE_CLUSTER_SUPERUSER;
|
||||||
@ -112,7 +112,7 @@ SELECT * FROM add_data_node('bootstrap_test', host => 'localhost',
|
|||||||
database => 'bootstrap_test', bootstrap => false);
|
database => 'bootstrap_test', bootstrap => false);
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
----------------+-----------+-------+----------------+--------------+------------------+-------------------
|
----------------+-----------+-------+----------------+--------------+------------------+-------------------
|
||||||
bootstrap_test | localhost | 15432 | bootstrap_test | t | f | f
|
bootstrap_test | localhost | 55432 | bootstrap_test | t | f | f
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM delete_data_node('bootstrap_test');
|
SELECT * FROM delete_data_node('bootstrap_test');
|
||||||
@ -137,7 +137,7 @@ SELECT * FROM add_data_node('bootstrap_test', host => 'localhost',
|
|||||||
database => 'bootstrap_test', bootstrap => false);
|
database => 'bootstrap_test', bootstrap => false);
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
----------------+-----------+-------+----------------+--------------+------------------+-------------------
|
----------------+-----------+-------+----------------+--------------+------------------+-------------------
|
||||||
bootstrap_test | localhost | 15432 | bootstrap_test | t | f | f
|
bootstrap_test | localhost | 55432 | bootstrap_test | t | f | f
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM delete_data_node('bootstrap_test');
|
SELECT * FROM delete_data_node('bootstrap_test');
|
||||||
@ -165,7 +165,7 @@ NOTICE: database "bootstrap_test" already exists on data node, skipping
|
|||||||
NOTICE: extension "timescaledb" already exists on data node, skipping
|
NOTICE: extension "timescaledb" already exists on data node, skipping
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
----------------+-----------+-------+----------------+--------------+------------------+-------------------
|
----------------+-----------+-------+----------------+--------------+------------------+-------------------
|
||||||
bootstrap_test | localhost | 15432 | bootstrap_test | t | f | f
|
bootstrap_test | localhost | 55432 | bootstrap_test | t | f | f
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM delete_data_node('bootstrap_test');
|
SELECT * FROM delete_data_node('bootstrap_test');
|
||||||
@ -271,13 +271,13 @@ SELECT * FROM add_data_node('bootstrap_test', host => 'localhost',
|
|||||||
database => 'bootstrap_test', bootstrap => true);
|
database => 'bootstrap_test', bootstrap => true);
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
----------------+-----------+-------+----------------+--------------+------------------+-------------------
|
----------------+-----------+-------+----------------+--------------+------------------+-------------------
|
||||||
bootstrap_test | localhost | 15432 | bootstrap_test | t | t | t
|
bootstrap_test | localhost | 55432 | bootstrap_test | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM show_data_nodes();
|
SELECT * FROM show_data_nodes();
|
||||||
data_node_name | host | port | dbname
|
data_node_name | host | port | dbname
|
||||||
----------------+-----------+-------+----------------
|
----------------+-----------+-------+----------------
|
||||||
bootstrap_test | localhost | 15432 | bootstrap_test
|
bootstrap_test | localhost | 55432 | bootstrap_test
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM delete_data_node('bootstrap_test');
|
SELECT * FROM delete_data_node('bootstrap_test');
|
||||||
@ -302,7 +302,7 @@ SELECT * FROM add_data_node('bootstrap_test', host => 'localhost',
|
|||||||
database => 'bootstrap_test', bootstrap => true);
|
database => 'bootstrap_test', bootstrap => true);
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
----------------+-----------+-------+----------------+--------------+------------------+-------------------
|
----------------+-----------+-------+----------------+--------------+------------------+-------------------
|
||||||
bootstrap_test | localhost | 15432 | bootstrap_test | t | t | t
|
bootstrap_test | localhost | 55432 | bootstrap_test | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM delete_data_node('bootstrap_test');
|
SELECT * FROM delete_data_node('bootstrap_test');
|
||||||
@ -433,7 +433,7 @@ SELECT label FROM pg_shseclabel
|
|||||||
SELECT * FROM add_data_node('drop_db_test_dn', host => 'localhost', database => 'drop_db_test_dn');
|
SELECT * FROM add_data_node('drop_db_test_dn', host => 'localhost', database => 'drop_db_test_dn');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-----------------+-----------+-------+-----------------+--------------+------------------+-------------------
|
-----------------+-----------+-------+-----------------+--------------+------------------+-------------------
|
||||||
drop_db_test_dn | localhost | 15432 | drop_db_test_dn | t | t | t
|
drop_db_test_dn | localhost | 55432 | drop_db_test_dn | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- Make sure security label is created
|
-- Make sure security label is created
|
||||||
|
@ -19,19 +19,19 @@ SET client_min_messages TO NOTICE;
|
|||||||
SELECT * FROM add_data_node('data_node_1', host => 'localhost', database => 'data_node_1');
|
SELECT * FROM add_data_node('data_node_1', host => 'localhost', database => 'data_node_1');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_1 | localhost | 15432 | data_node_1 | t | t | t
|
data_node_1 | localhost | 55432 | data_node_1 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_2', host => 'localhost', database => 'data_node_2');
|
SELECT * FROM add_data_node('data_node_2', host => 'localhost', database => 'data_node_2');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_2 | localhost | 15432 | data_node_2 | t | t | t
|
data_node_2 | localhost | 55432 | data_node_2 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_3', host => 'localhost', database => 'data_node_3');
|
SELECT * FROM add_data_node('data_node_3', host => 'localhost', database => 'data_node_3');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_3 | localhost | 15432 | data_node_3 | t | t | t
|
data_node_3 | localhost | 55432 | data_node_3 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO PUBLIC;
|
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO PUBLIC;
|
||||||
|
@ -16,21 +16,21 @@ SELECT * FROM add_data_node('data_node_1', host => 'localhost',
|
|||||||
database => 'data_node_1');
|
database => 'data_node_1');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_1 | localhost | 15432 | data_node_1 | t | t | t
|
data_node_1 | localhost | 55432 | data_node_1 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
||||||
database => 'data_node_2');
|
database => 'data_node_2');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_2 | localhost | 15432 | data_node_2 | t | t | t
|
data_node_2 | localhost | 55432 | data_node_2 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
||||||
database => 'data_node_3');
|
database => 'data_node_3');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_3 | localhost | 15432 | data_node_3 | t | t | t
|
data_node_3 | localhost | 55432 | data_node_3 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO PUBLIC;
|
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO PUBLIC;
|
||||||
@ -38,11 +38,11 @@ GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO PUBLIC;
|
|||||||
List of foreign servers
|
List of foreign servers
|
||||||
Name | Owner | Foreign-data wrapper | Access privileges | Type | Version | FDW options | Description
|
Name | Owner | Foreign-data wrapper | Access privileges | Type | Version | FDW options | Description
|
||||||
-------------+--------------------+----------------------+-----------------------------------------+------+---------+--------------------------------------------------------+-------------
|
-------------+--------------------+----------------------+-----------------------------------------+------+---------+--------------------------------------------------------+-------------
|
||||||
data_node_1 | cluster_super_user | timescaledb_fdw | cluster_super_user=U/cluster_super_user+| | | (host 'localhost', port '15432', dbname 'data_node_1') |
|
data_node_1 | cluster_super_user | timescaledb_fdw | cluster_super_user=U/cluster_super_user+| | | (host 'localhost', port '55432', dbname 'data_node_1') |
|
||||||
| | | =U/cluster_super_user | | | |
|
| | | =U/cluster_super_user | | | |
|
||||||
data_node_2 | cluster_super_user | timescaledb_fdw | cluster_super_user=U/cluster_super_user+| | | (host 'localhost', port '15432', dbname 'data_node_2') |
|
data_node_2 | cluster_super_user | timescaledb_fdw | cluster_super_user=U/cluster_super_user+| | | (host 'localhost', port '55432', dbname 'data_node_2') |
|
||||||
| | | =U/cluster_super_user | | | |
|
| | | =U/cluster_super_user | | | |
|
||||||
data_node_3 | cluster_super_user | timescaledb_fdw | cluster_super_user=U/cluster_super_user+| | | (host 'localhost', port '15432', dbname 'data_node_3') |
|
data_node_3 | cluster_super_user | timescaledb_fdw | cluster_super_user=U/cluster_super_user+| | | (host 'localhost', port '55432', dbname 'data_node_3') |
|
||||||
| | | =U/cluster_super_user | | | |
|
| | | =U/cluster_super_user | | | |
|
||||||
(3 rows)
|
(3 rows)
|
||||||
|
|
||||||
|
@ -23,21 +23,21 @@ SELECT * FROM add_data_node('data_node_1', host => 'localhost',
|
|||||||
database => 'data_node_1');
|
database => 'data_node_1');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_1 | localhost | 15432 | data_node_1 | t | t | t
|
data_node_1 | localhost | 55432 | data_node_1 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
||||||
database => 'data_node_2');
|
database => 'data_node_2');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_2 | localhost | 15432 | data_node_2 | t | t | t
|
data_node_2 | localhost | 55432 | data_node_2 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
||||||
database => 'data_node_3');
|
database => 'data_node_3');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_3 | localhost | 15432 | data_node_3 | t | t | t
|
data_node_3 | localhost | 55432 | data_node_3 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO :ROLE_1;
|
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO :ROLE_1;
|
||||||
|
@ -17,21 +17,21 @@ SELECT * FROM add_data_node('data_node_1', host => 'localhost',
|
|||||||
database => 'data_node_1');
|
database => 'data_node_1');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_1 | localhost | 15432 | data_node_1 | t | t | t
|
data_node_1 | localhost | 55432 | data_node_1 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
||||||
database => 'data_node_2');
|
database => 'data_node_2');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_2 | localhost | 15432 | data_node_2 | t | t | t
|
data_node_2 | localhost | 55432 | data_node_2 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
||||||
database => 'data_node_3');
|
database => 'data_node_3');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_3 | localhost | 15432 | data_node_3 | t | t | t
|
data_node_3 | localhost | 55432 | data_node_3 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO PUBLIC;
|
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO PUBLIC;
|
||||||
|
@ -10,19 +10,19 @@ NOTICE: table "conditions" does not exist, skipping
|
|||||||
SELECT * FROM add_data_node('data1', host => 'localhost', database => 'data1');
|
SELECT * FROM add_data_node('data1', host => 'localhost', database => 'data1');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-----------+-----------+-------+----------+--------------+------------------+-------------------
|
-----------+-----------+-------+----------+--------------+------------------+-------------------
|
||||||
data1 | localhost | 15432 | data1 | t | t | t
|
data1 | localhost | 55432 | data1 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data2', host => 'localhost', database => 'data2');
|
SELECT * FROM add_data_node('data2', host => 'localhost', database => 'data2');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-----------+-----------+-------+----------+--------------+------------------+-------------------
|
-----------+-----------+-------+----------+--------------+------------------+-------------------
|
||||||
data2 | localhost | 15432 | data2 | t | t | t
|
data2 | localhost | 55432 | data2 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data3', host => 'localhost', database => 'data3');
|
SELECT * FROM add_data_node('data3', host => 'localhost', database => 'data3');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-----------+-----------+-------+----------+--------------+------------------+-------------------
|
-----------+-----------+-------+----------+--------------+------------------+-------------------
|
||||||
data3 | localhost | 15432 | data3 | t | t | t
|
data3 | localhost | 55432 | data3 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
CREATE TABLE conditions(time TIMESTAMPTZ NOT NULL, device INTEGER, temperature FLOAT, humidity FLOAT);
|
CREATE TABLE conditions(time TIMESTAMPTZ NOT NULL, device INTEGER, temperature FLOAT, humidity FLOAT);
|
||||||
|
@ -18,21 +18,21 @@ SELECT * FROM add_data_node('data_node_1', host => 'localhost',
|
|||||||
database => 'data_node_1');
|
database => 'data_node_1');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_1 | localhost | 15432 | data_node_1 | t | t | t
|
data_node_1 | localhost | 55432 | data_node_1 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
||||||
database => 'data_node_2');
|
database => 'data_node_2');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_2 | localhost | 15432 | data_node_2 | t | t | t
|
data_node_2 | localhost | 55432 | data_node_2 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
||||||
database => 'data_node_3');
|
database => 'data_node_3');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_3 | localhost | 15432 | data_node_3 | t | t | t
|
data_node_3 | localhost | 55432 | data_node_3 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO PUBLIC;
|
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO PUBLIC;
|
||||||
@ -41,9 +41,9 @@ SET ROLE :ROLE_1;
|
|||||||
SELECT node_name, "options" FROM timescaledb_information.data_node ORDER BY node_name;
|
SELECT node_name, "options" FROM timescaledb_information.data_node ORDER BY node_name;
|
||||||
node_name | options
|
node_name | options
|
||||||
-------------+------------------------------------------------
|
-------------+------------------------------------------------
|
||||||
data_node_1 | {host=localhost,port=15432,dbname=data_node_1}
|
data_node_1 | {host=localhost,port=55432,dbname=data_node_1}
|
||||||
data_node_2 | {host=localhost,port=15432,dbname=data_node_2}
|
data_node_2 | {host=localhost,port=55432,dbname=data_node_2}
|
||||||
data_node_3 | {host=localhost,port=15432,dbname=data_node_3}
|
data_node_3 | {host=localhost,port=55432,dbname=data_node_3}
|
||||||
(3 rows)
|
(3 rows)
|
||||||
|
|
||||||
\set ON_ERROR_STOP 0
|
\set ON_ERROR_STOP 0
|
||||||
@ -381,9 +381,9 @@ Sun Jul 01 08:01:00 2018 PDT| 29| 1.5
|
|||||||
SELECT node_name, "options" FROM timescaledb_information.data_node ORDER BY node_name;
|
SELECT node_name, "options" FROM timescaledb_information.data_node ORDER BY node_name;
|
||||||
node_name | options
|
node_name | options
|
||||||
-------------+------------------------------------------------
|
-------------+------------------------------------------------
|
||||||
data_node_1 | {host=localhost,port=15432,dbname=data_node_1}
|
data_node_1 | {host=localhost,port=55432,dbname=data_node_1}
|
||||||
data_node_2 | {host=localhost,port=15432,dbname=data_node_2}
|
data_node_2 | {host=localhost,port=55432,dbname=data_node_2}
|
||||||
data_node_3 | {host=localhost,port=15432,dbname=data_node_3}
|
data_node_3 | {host=localhost,port=55432,dbname=data_node_3}
|
||||||
(3 rows)
|
(3 rows)
|
||||||
|
|
||||||
SELECT * FROM hypertable_data_node_relation_size('disttable');
|
SELECT * FROM hypertable_data_node_relation_size('disttable');
|
||||||
|
@ -18,21 +18,21 @@ SELECT * FROM add_data_node('data_node_1', host => 'localhost',
|
|||||||
database => 'data_node_1');
|
database => 'data_node_1');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_1 | localhost | 15432 | data_node_1 | t | t | t
|
data_node_1 | localhost | 55432 | data_node_1 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
||||||
database => 'data_node_2');
|
database => 'data_node_2');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_2 | localhost | 15432 | data_node_2 | t | t | t
|
data_node_2 | localhost | 55432 | data_node_2 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
||||||
database => 'data_node_3');
|
database => 'data_node_3');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_3 | localhost | 15432 | data_node_3 | t | t | t
|
data_node_3 | localhost | 55432 | data_node_3 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO PUBLIC;
|
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO PUBLIC;
|
||||||
@ -41,9 +41,9 @@ SET ROLE :ROLE_1;
|
|||||||
SELECT node_name, "options" FROM timescaledb_information.data_node ORDER BY node_name;
|
SELECT node_name, "options" FROM timescaledb_information.data_node ORDER BY node_name;
|
||||||
node_name | options
|
node_name | options
|
||||||
-------------+------------------------------------------------
|
-------------+------------------------------------------------
|
||||||
data_node_1 | {host=localhost,port=15432,dbname=data_node_1}
|
data_node_1 | {host=localhost,port=55432,dbname=data_node_1}
|
||||||
data_node_2 | {host=localhost,port=15432,dbname=data_node_2}
|
data_node_2 | {host=localhost,port=55432,dbname=data_node_2}
|
||||||
data_node_3 | {host=localhost,port=15432,dbname=data_node_3}
|
data_node_3 | {host=localhost,port=55432,dbname=data_node_3}
|
||||||
(3 rows)
|
(3 rows)
|
||||||
|
|
||||||
\set ON_ERROR_STOP 0
|
\set ON_ERROR_STOP 0
|
||||||
@ -381,9 +381,9 @@ Sun Jul 01 08:01:00 2018 PDT| 29| 1.5
|
|||||||
SELECT node_name, "options" FROM timescaledb_information.data_node ORDER BY node_name;
|
SELECT node_name, "options" FROM timescaledb_information.data_node ORDER BY node_name;
|
||||||
node_name | options
|
node_name | options
|
||||||
-------------+------------------------------------------------
|
-------------+------------------------------------------------
|
||||||
data_node_1 | {host=localhost,port=15432,dbname=data_node_1}
|
data_node_1 | {host=localhost,port=55432,dbname=data_node_1}
|
||||||
data_node_2 | {host=localhost,port=15432,dbname=data_node_2}
|
data_node_2 | {host=localhost,port=55432,dbname=data_node_2}
|
||||||
data_node_3 | {host=localhost,port=15432,dbname=data_node_3}
|
data_node_3 | {host=localhost,port=55432,dbname=data_node_3}
|
||||||
(3 rows)
|
(3 rows)
|
||||||
|
|
||||||
SELECT * FROM hypertable_data_node_relation_size('disttable');
|
SELECT * FROM hypertable_data_node_relation_size('disttable');
|
||||||
|
@ -48,21 +48,21 @@ SELECT * FROM add_data_node('data_node_1', host => 'localhost',
|
|||||||
database => 'data_node_1');
|
database => 'data_node_1');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_1 | localhost | 15432 | data_node_1 | t | t | t
|
data_node_1 | localhost | 55432 | data_node_1 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
||||||
database => 'data_node_2');
|
database => 'data_node_2');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_2 | localhost | 15432 | data_node_2 | t | t | t
|
data_node_2 | localhost | 55432 | data_node_2 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
||||||
database => 'data_node_3');
|
database => 'data_node_3');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_3 | localhost | 15432 | data_node_3 | t | t | t
|
data_node_3 | localhost | 55432 | data_node_3 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO :ROLE_1;
|
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO :ROLE_1;
|
||||||
|
@ -34,21 +34,21 @@ SELECT * FROM add_data_node('data_node_1', host => 'localhost',
|
|||||||
database => 'data_node_1');
|
database => 'data_node_1');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_1 | localhost | 15432 | data_node_1 | t | t | t
|
data_node_1 | localhost | 55432 | data_node_1 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
||||||
database => 'data_node_2');
|
database => 'data_node_2');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_2 | localhost | 15432 | data_node_2 | t | t | t
|
data_node_2 | localhost | 55432 | data_node_2 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
||||||
database => 'data_node_3');
|
database => 'data_node_3');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_3 | localhost | 15432 | data_node_3 | t | t | t
|
data_node_3 | localhost | 55432 | data_node_3 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO :ROLE_1;
|
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO :ROLE_1;
|
||||||
|
@ -34,21 +34,21 @@ SELECT * FROM add_data_node('data_node_1', host => 'localhost',
|
|||||||
database => 'data_node_1');
|
database => 'data_node_1');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_1 | localhost | 15432 | data_node_1 | t | t | t
|
data_node_1 | localhost | 55432 | data_node_1 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
||||||
database => 'data_node_2');
|
database => 'data_node_2');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_2 | localhost | 15432 | data_node_2 | t | t | t
|
data_node_2 | localhost | 55432 | data_node_2 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
||||||
database => 'data_node_3');
|
database => 'data_node_3');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_3 | localhost | 15432 | data_node_3 | t | t | t
|
data_node_3 | localhost | 55432 | data_node_3 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO :ROLE_1;
|
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO :ROLE_1;
|
||||||
|
@ -88,7 +88,7 @@ SELECT key, value FROM _timescaledb_catalog.metadata WHERE key LIKE '%uuid';
|
|||||||
SELECT * FROM add_data_node('data_node_1', host => 'localhost', database => 'backend_1_1');
|
SELECT * FROM add_data_node('data_node_1', host => 'localhost', database => 'backend_1_1');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_1 | localhost | 15432 | backend_1_1 | t | t | t
|
data_node_1 | localhost | 55432 | backend_1_1 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT key, value FROM _timescaledb_catalog.metadata WHERE key LIKE '%uuid';
|
SELECT key, value FROM _timescaledb_catalog.metadata WHERE key LIKE '%uuid';
|
||||||
@ -113,7 +113,7 @@ SELECT key, value FROM _timescaledb_catalog.metadata WHERE key LIKE '%uuid';
|
|||||||
SELECT * FROM add_data_node('data_node_1', host => 'localhost', database => 'backend_2_1');
|
SELECT * FROM add_data_node('data_node_1', host => 'localhost', database => 'backend_2_1');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_1 | localhost | 15432 | backend_2_1 | t | t | t
|
data_node_1 | localhost | 55432 | backend_2_1 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT key, value FROM _timescaledb_catalog.metadata WHERE key LIKE '%uuid';
|
SELECT key, value FROM _timescaledb_catalog.metadata WHERE key LIKE '%uuid';
|
||||||
@ -167,7 +167,7 @@ ERROR: invalid_data_node is not valid as data node
|
|||||||
SELECT * FROM add_data_node('data_node_2', host => 'localhost', database => 'backend_x_2', bootstrap => true);
|
SELECT * FROM add_data_node('data_node_2', host => 'localhost', database => 'backend_x_2', bootstrap => true);
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_2 | localhost | 15432 | backend_x_2 | t | t | t
|
data_node_2 | localhost | 55432 | backend_x_2 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- dist_uuid should be added to the metadata on the data node
|
-- dist_uuid should be added to the metadata on the data node
|
||||||
@ -202,7 +202,7 @@ DELETE FROM _timescaledb_catalog.metadata WHERE key = 'dist_uuid';
|
|||||||
SELECT * FROM add_data_node('data_node_2', host => 'localhost', database => 'backend_x_2', bootstrap => false);
|
SELECT * FROM add_data_node('data_node_2', host => 'localhost', database => 'backend_x_2', bootstrap => false);
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_2 | localhost | 15432 | backend_x_2 | t | f | f
|
data_node_2 | localhost | 55432 | backend_x_2 | t | f | f
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- dist_uuid should be added to the metadata on the data node
|
-- dist_uuid should be added to the metadata on the data node
|
||||||
@ -241,11 +241,11 @@ INSERT INTO disttable VALUES
|
|||||||
('2018-01-02 08:01', 2, 1.3),
|
('2018-01-02 08:01', 2, 1.3),
|
||||||
('2019-01-01 09:11', 3, 2.1),
|
('2019-01-01 09:11', 3, 2.1),
|
||||||
('2017-01-01 06:05', 1, 1.4);
|
('2017-01-01 06:05', 1, 1.4);
|
||||||
SELECT * FROM timescaledb_information.data_node;
|
SELECT * FROM timescaledb_information.data_node ORDER BY node_name;
|
||||||
node_name | owner | options | node_up | num_dist_tables | num_dist_chunks | total_dist_size
|
node_name | owner | options | node_up | num_dist_tables | num_dist_chunks | total_dist_size
|
||||||
-------------+--------------------+------------------------------------------------+---------+-----------------+-----------------+-----------------
|
-------------+--------------------+------------------------------------------------+---------+-----------------+-----------------+-----------------
|
||||||
data_node_1 | cluster_super_user | {host=localhost,port=15432,dbname=backend_2_1} | t | 1 | 2 | 48 kB
|
data_node_1 | cluster_super_user | {host=localhost,port=55432,dbname=backend_2_1} | t | 1 | 2 | 48 kB
|
||||||
data_node_2 | cluster_super_user | {host=localhost,port=15432,dbname=backend_x_2} | t | 1 | 1 | 24 kB
|
data_node_2 | cluster_super_user | {host=localhost,port=55432,dbname=backend_x_2} | t | 1 | 1 | 24 kB
|
||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
SELECT * FROM timescaledb_information.hypertable;
|
SELECT * FROM timescaledb_information.hypertable;
|
||||||
@ -267,14 +267,14 @@ SELECT * FROM hypertable_relation_size('nondisttable');
|
|||||||
24576 | 49152 | | 73728
|
24576 | 49152 | | 73728
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM hypertable_data_node_relation_size('disttable');
|
SELECT * FROM hypertable_data_node_relation_size('disttable') ORDER BY node_name;
|
||||||
node_name | num_chunks | table_size | index_size | toast_size | total_size
|
node_name | num_chunks | table_size | index_size | toast_size | total_size
|
||||||
-------------+------------+------------+------------+------------+------------
|
-------------+------------+------------+------------+------------+------------
|
||||||
data_node_1 | 2 | 16 kB | 32 kB | | 48 kB
|
data_node_1 | 2 | 16 kB | 32 kB | | 48 kB
|
||||||
data_node_2 | 1 | 8192 bytes | 16 kB | | 24 kB
|
data_node_2 | 1 | 8192 bytes | 16 kB | | 24 kB
|
||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
SELECT * FROM hypertable_data_node_relation_size('nondisttable');
|
SELECT * FROM hypertable_data_node_relation_size('nondisttable') ORDER BY node_name;
|
||||||
NOTICE: calling hypertable_data_node_relation_size on a non-distributed hypertable
|
NOTICE: calling hypertable_data_node_relation_size on a non-distributed hypertable
|
||||||
node_name | num_chunks | table_size | index_size | toast_size | total_size
|
node_name | num_chunks | table_size | index_size | toast_size | total_size
|
||||||
-----------+------------+------------+------------+------------+------------
|
-----------+------------+------------+------------+------------+------------
|
||||||
|
@ -11,21 +11,21 @@ SELECT * FROM add_data_node('data_node_1', host => 'localhost',
|
|||||||
database => 'data_node_1');
|
database => 'data_node_1');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_1 | localhost | 15432 | data_node_1 | t | t | t
|
data_node_1 | localhost | 55432 | data_node_1 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
||||||
database => 'data_node_2');
|
database => 'data_node_2');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_2 | localhost | 15432 | data_node_2 | t | t | t
|
data_node_2 | localhost | 55432 | data_node_2 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
||||||
database => 'data_node_3');
|
database => 'data_node_3');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_3 | localhost | 15432 | data_node_3 | t | t | t
|
data_node_3 | localhost | 55432 | data_node_3 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
GRANT USAGE
|
GRANT USAGE
|
||||||
|
@ -13,21 +13,21 @@ SELECT * FROM add_data_node('data_node_1', host => 'localhost',
|
|||||||
database => 'data_node_1');
|
database => 'data_node_1');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_1 | localhost | 15432 | data_node_1 | t | t | t
|
data_node_1 | localhost | 55432 | data_node_1 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_2', host => 'localhost',
|
||||||
database => 'data_node_2');
|
database => 'data_node_2');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_2 | localhost | 15432 | data_node_2 | t | t | t
|
data_node_2 | localhost | 55432 | data_node_2 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
SELECT * FROM add_data_node('data_node_3', host => 'localhost',
|
||||||
database => 'data_node_3');
|
database => 'data_node_3');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_3 | localhost | 15432 | data_node_3 | t | t | t
|
data_node_3 | localhost | 55432 | data_node_3 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO PUBLIC;
|
GRANT USAGE ON FOREIGN SERVER data_node_1, data_node_2, data_node_3 TO PUBLIC;
|
||||||
|
@ -39,13 +39,13 @@ LANGUAGE C;
|
|||||||
SELECT * FROM add_loopback_server('loopback', database => :'TEST_DBNAME', bootstrap => false);
|
SELECT * FROM add_loopback_server('loopback', database => :'TEST_DBNAME', bootstrap => false);
|
||||||
server_name | host | port | database | server_created | database_created | extension_created
|
server_name | host | port | database | server_created | database_created | extension_created
|
||||||
-------------+-----------+-------+---------------+----------------+------------------+-------------------
|
-------------+-----------+-------+---------------+----------------+------------------+-------------------
|
||||||
loopback | localhost | 15432 | db_remote_txn | t | f | f
|
loopback | localhost | 55432 | db_remote_txn | t | f | f
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT * FROM add_loopback_server('loopback2', database => :'TEST_DBNAME', bootstrap => false);
|
SELECT * FROM add_loopback_server('loopback2', database => :'TEST_DBNAME', bootstrap => false);
|
||||||
server_name | host | port | database | server_created | database_created | extension_created
|
server_name | host | port | database | server_created | database_created | extension_created
|
||||||
-------------+-----------+-------+---------------+----------------+------------------+-------------------
|
-------------+-----------+-------+---------------+----------------+------------------+-------------------
|
||||||
loopback2 | localhost | 15432 | db_remote_txn | t | f | f
|
loopback2 | localhost | 55432 | db_remote_txn | t | f | f
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- ===================================================================
|
-- ===================================================================
|
||||||
|
@ -17,7 +17,7 @@ SELECT * FROM add_data_node('data_node_1', host => 'localhost',
|
|||||||
database => 'data_node_1');
|
database => 'data_node_1');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_1 | localhost | 15432 | data_node_1 | t | t | t
|
data_node_1 | localhost | 55432 | data_node_1 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
SELECT json_object_field(get_telemetry_report(always_display_report := true)::json, 'distributed_db');
|
SELECT json_object_field(get_telemetry_report(always_display_report := true)::json, 'distributed_db');
|
||||||
@ -39,7 +39,7 @@ SELECT * FROM add_data_node('data_node_2', 'localhost',
|
|||||||
database => 'data_node_2');
|
database => 'data_node_2');
|
||||||
node_name | host | port | database | node_created | database_created | extension_created
|
node_name | host | port | database | node_created | database_created | extension_created
|
||||||
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
-------------+-----------+-------+-------------+--------------+------------------+-------------------
|
||||||
data_node_2 | localhost | 15432 | data_node_2 | t | t | t
|
data_node_2 | localhost | 55432 | data_node_2 | t | t | t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- Add hypertables
|
-- Add hypertables
|
||||||
|
@ -34,9 +34,23 @@ SELECT * FROM add_data_node(NULL);
|
|||||||
-- Add NULL data_node
|
-- Add NULL data_node
|
||||||
SELECT * FROM add_data_node(NULL, host => 'localhost');
|
SELECT * FROM add_data_node(NULL, host => 'localhost');
|
||||||
SELECT * FROM add_data_node(NULL, NULL);
|
SELECT * FROM add_data_node(NULL, NULL);
|
||||||
|
|
||||||
|
-- Test invalid port numbers
|
||||||
|
SELECT * FROM add_data_node('data_node_3', 'localhost',
|
||||||
|
port => 65536,
|
||||||
|
database => 'data_node_3');
|
||||||
|
SELECT * FROM add_data_node('data_node_3', 'localhost',
|
||||||
|
port => 0,
|
||||||
|
database => 'data_node_3');
|
||||||
|
SELECT * FROM add_data_node('data_node_3', 'localhost',
|
||||||
|
port => -1,
|
||||||
|
database => 'data_node_3');
|
||||||
|
|
||||||
|
SELECT inet_server_port() as PGPORT \gset
|
||||||
|
|
||||||
-- Adding a data node via ADD SERVER is blocked
|
-- Adding a data node via ADD SERVER is blocked
|
||||||
CREATE SERVER data_node_4 FOREIGN DATA WRAPPER timescaledb_fdw
|
CREATE SERVER data_node_4 FOREIGN DATA WRAPPER timescaledb_fdw
|
||||||
OPTIONS (host 'localhost', port '15432', dbname 'data_node_4');
|
OPTIONS (host 'localhost', port ':PGPORT', dbname 'data_node_4');
|
||||||
-- Dropping a data node via DROP SERVER is also blocked
|
-- Dropping a data node via DROP SERVER is also blocked
|
||||||
DROP SERVER data_node_1, data_node_2;
|
DROP SERVER data_node_1, data_node_2;
|
||||||
\set ON_ERROR_STOP 1
|
\set ON_ERROR_STOP 1
|
||||||
|
@ -136,9 +136,9 @@ INSERT INTO disttable VALUES
|
|||||||
('2019-01-01 09:11', 3, 2.1),
|
('2019-01-01 09:11', 3, 2.1),
|
||||||
('2017-01-01 06:05', 1, 1.4);
|
('2017-01-01 06:05', 1, 1.4);
|
||||||
|
|
||||||
SELECT * FROM timescaledb_information.data_node;
|
SELECT * FROM timescaledb_information.data_node ORDER BY node_name;
|
||||||
SELECT * FROM timescaledb_information.hypertable;
|
SELECT * FROM timescaledb_information.hypertable;
|
||||||
SELECT * FROM hypertable_relation_size('disttable');
|
SELECT * FROM hypertable_relation_size('disttable');
|
||||||
SELECT * FROM hypertable_relation_size('nondisttable');
|
SELECT * FROM hypertable_relation_size('nondisttable');
|
||||||
SELECT * FROM hypertable_data_node_relation_size('disttable');
|
SELECT * FROM hypertable_data_node_relation_size('disttable') ORDER BY node_name;
|
||||||
SELECT * FROM hypertable_data_node_relation_size('nondisttable');
|
SELECT * FROM hypertable_data_node_relation_size('nondisttable') ORDER BY node_name;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user