Merge pull request #1435 from citusdata/unlogged_tables

Support unlogged tables
pull/1229/merge
Marco Slot 2017-06-14 14:42:42 +02:00 committed by GitHub
commit 802ff0db2f
3 changed files with 46 additions and 1 deletions

View File

@ -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
{ {

View File

@ -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)

View File

@ -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_%';