mirror of https://github.com/citusdata/citus.git
Add support for unlogged distributed tables
parent
296f41dfd0
commit
56876596d5
|
@ -290,7 +290,14 @@ pg_get_tableschemadef_string(Oid tableRelationId, bool includeSequenceDefaults)
|
||||||
initStringInfo(&buffer);
|
initStringInfo(&buffer);
|
||||||
if (relationKind == RELKIND_RELATION)
|
if (relationKind == RELKIND_RELATION)
|
||||||
{
|
{
|
||||||
appendStringInfo(&buffer, "CREATE TABLE %s (", relationName);
|
appendStringInfoString(&buffer, "CREATE ");
|
||||||
|
|
||||||
|
if (relation->rd_rel->relpersistence == RELPERSISTENCE_UNLOGGED)
|
||||||
|
{
|
||||||
|
appendStringInfoString(&buffer, "UNLOGGED ");
|
||||||
|
}
|
||||||
|
|
||||||
|
appendStringInfo(&buffer, "TABLE %s (", relationName);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -525,3 +525,30 @@ SELECT create_distributed_table('orders_hash_part', 'o_orderkey');
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
|
CREATE UNLOGGED TABLE unlogged_table
|
||||||
|
(
|
||||||
|
key text,
|
||||||
|
value text
|
||||||
|
);
|
||||||
|
SELECT create_distributed_table('unlogged_table', 'key');
|
||||||
|
create_distributed_table
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
SELECT * FROM master_get_table_ddl_events('unlogged_table');
|
||||||
|
master_get_table_ddl_events
|
||||||
|
--------------------------------------------------------------------
|
||||||
|
CREATE UNLOGGED TABLE public.unlogged_table (key text, value text)
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
\c - - - :worker_1_port
|
||||||
|
SELECT relpersistence FROM pg_class WHERE relname LIKE 'unlogged_table_%';
|
||||||
|
relpersistence
|
||||||
|
----------------
|
||||||
|
u
|
||||||
|
u
|
||||||
|
u
|
||||||
|
u
|
||||||
|
(4 rows)
|
||||||
|
|
||||||
|
|
|
@ -282,3 +282,14 @@ SELECT create_distributed_table('lineitem_hash_part', 'l_orderkey');
|
||||||
|
|
||||||
CREATE TABLE orders_hash_part (like orders);
|
CREATE TABLE orders_hash_part (like orders);
|
||||||
SELECT create_distributed_table('orders_hash_part', 'o_orderkey');
|
SELECT create_distributed_table('orders_hash_part', 'o_orderkey');
|
||||||
|
|
||||||
|
CREATE UNLOGGED TABLE unlogged_table
|
||||||
|
(
|
||||||
|
key text,
|
||||||
|
value text
|
||||||
|
);
|
||||||
|
SELECT create_distributed_table('unlogged_table', 'key');
|
||||||
|
SELECT * FROM master_get_table_ddl_events('unlogged_table');
|
||||||
|
|
||||||
|
\c - - - :worker_1_port
|
||||||
|
SELECT relpersistence FROM pg_class WHERE relname LIKE 'unlogged_table_%';
|
||||||
|
|
Loading…
Reference in New Issue