From: Bruce Momjian Date: Wed, 26 Mar 2014 15:13:17 +0000 (-0400) Subject: psql: update "replica identity" display for \d+ X-Git-Tag: REL9_4_BETA1~273 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b69c4e65bea92ef617581365c365d2f43aa9e1fa;p=postgresql psql: update "replica identity" display for \d+ Display "replica identity" only for \d plus mode, exclude system schema objects, and display all possible values, not just non-default, non-index ones. --- diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c index a194ce7e26..21bbdf823a 100644 --- a/src/bin/psql/describe.c +++ b/src/bin/psql/describe.c @@ -2345,14 +2345,19 @@ describeOneTableDetails(const char *schemaname, printTableAddFooter(&cont, buf.data); } - if ((tableinfo.relkind == 'r' || tableinfo.relkind == 'm') && - tableinfo.relreplident != 'd' && tableinfo.relreplident != 'i') + if (verbose && (tableinfo.relkind == 'r' || tableinfo.relkind == 'm') && + strcmp(schemaname, "pg_catalog") != 0) { const char *s = _("Replica Identity"); printfPQExpBuffer(&buf, "%s: %s", s, - tableinfo.relreplident == 'n' ? "NOTHING" : "FULL"); + tableinfo.relreplident == 'd' ? "DEFAULT" : + tableinfo.relreplident == 'f' ? "FULL" : + tableinfo.relreplident == 'i' ? "USING INDEX" : + tableinfo.relreplident == 'n' ? "NOTHING" : + "???"); + printTableAddFooter(&cont, buf.data); } diff --git a/src/test/regress/expected/create_table_like.out b/src/test/regress/expected/create_table_like.out index 5f29b3978d..feb6c93466 100644 --- a/src/test/regress/expected/create_table_like.out +++ b/src/test/regress/expected/create_table_like.out @@ -115,6 +115,7 @@ CREATE TABLE ctlt12_storage (LIKE ctlt1 INCLUDING STORAGE, LIKE ctlt2 INCLUDING a | text | not null | main | | b | text | | extended | | c | text | | external | | +Replica Identity: DEFAULT Has OIDs: no CREATE TABLE ctlt12_comments (LIKE ctlt1 INCLUDING COMMENTS, LIKE ctlt2 INCLUDING COMMENTS); @@ -125,6 +126,7 @@ CREATE TABLE ctlt12_comments (LIKE ctlt1 INCLUDING COMMENTS, LIKE ctlt2 INCLUDIN a | text | not null | extended | | A b | text | | extended | | B c | text | | extended | | C +Replica Identity: DEFAULT Has OIDs: no CREATE TABLE ctlt1_inh (LIKE ctlt1 INCLUDING CONSTRAINTS INCLUDING COMMENTS) INHERITS (ctlt1); @@ -140,6 +142,7 @@ NOTICE: merging constraint "ctlt1_a_check" with inherited definition Check constraints: "ctlt1_a_check" CHECK (length(a) > 2) Inherits: ctlt1 +Replica Identity: DEFAULT Has OIDs: no SELECT description FROM pg_description, pg_constraint c WHERE classoid = 'pg_constraint'::regclass AND objoid = c.oid AND c.conrelid = 'ctlt1_inh'::regclass; @@ -162,6 +165,7 @@ Check constraints: "ctlt3_a_check" CHECK (length(a) < 5) Inherits: ctlt1, ctlt3 +Replica Identity: DEFAULT Has OIDs: no CREATE TABLE ctlt13_like (LIKE ctlt3 INCLUDING CONSTRAINTS INCLUDING COMMENTS INCLUDING STORAGE) INHERITS (ctlt1); @@ -177,6 +181,7 @@ Check constraints: "ctlt1_a_check" CHECK (length(a) > 2) "ctlt3_a_check" CHECK (length(a) < 5) Inherits: ctlt1 +Replica Identity: DEFAULT Has OIDs: no SELECT description FROM pg_description, pg_constraint c WHERE classoid = 'pg_constraint'::regclass AND objoid = c.oid AND c.conrelid = 'ctlt13_like'::regclass; @@ -198,6 +203,7 @@ Indexes: "ctlt_all_expr_idx" btree ((a || b)) Check constraints: "ctlt1_a_check" CHECK (length(a) > 2) +Replica Identity: DEFAULT Has OIDs: no SELECT c.relname, objsubid, description FROM pg_description, pg_index i, pg_class c WHERE classoid = 'pg_class'::regclass AND objoid = i.indexrelid AND c.oid = i.indexrelid AND i.indrelid = 'ctlt_all'::regclass ORDER BY c.relname, objsubid; diff --git a/src/test/regress/expected/inherit.out b/src/test/regress/expected/inherit.out index c84c435a8a..7f2eeea007 100644 --- a/src/test/regress/expected/inherit.out +++ b/src/test/regress/expected/inherit.out @@ -913,6 +913,7 @@ ALTER TABLE inhts RENAME d TO dd; dd | integer | | plain | | Inherits: inht1, inhs1 +Replica Identity: DEFAULT Has OIDs: no DROP TABLE inhts; @@ -934,6 +935,7 @@ ALTER TABLE inht1 RENAME aa TO aaa; z | integer | | plain | | Inherits: inht2, inht3 +Replica Identity: DEFAULT Has OIDs: no CREATE TABLE inhts (d int) INHERITS (inht2, inhs1); @@ -952,6 +954,7 @@ ERROR: cannot rename inherited column "b" d | integer | | plain | | Inherits: inht2, inhs1 +Replica Identity: DEFAULT Has OIDs: no WITH RECURSIVE r AS ( @@ -999,6 +1002,7 @@ CREATE TABLE test_constraints_inh () INHERITS (test_constraints); Indexes: "test_constraints_val1_val2_key" UNIQUE CONSTRAINT, btree (val1, val2) Child tables: test_constraints_inh +Replica Identity: DEFAULT Has OIDs: no ALTER TABLE ONLY test_constraints DROP CONSTRAINT test_constraints_val1_val2_key; @@ -1010,6 +1014,7 @@ ALTER TABLE ONLY test_constraints DROP CONSTRAINT test_constraints_val1_val2_key val1 | character varying | | extended | | val2 | integer | | plain | | Child tables: test_constraints_inh +Replica Identity: DEFAULT Has OIDs: no \d+ test_constraints_inh @@ -1020,6 +1025,7 @@ Has OIDs: no val1 | character varying | | extended | | val2 | integer | | plain | | Inherits: test_constraints +Replica Identity: DEFAULT Has OIDs: no DROP TABLE test_constraints_inh; @@ -1037,6 +1043,7 @@ CREATE TABLE test_ex_constraints_inh () INHERITS (test_ex_constraints); Indexes: "test_ex_constraints_c_excl" EXCLUDE USING gist (c WITH &&) Child tables: test_ex_constraints_inh +Replica Identity: DEFAULT Has OIDs: no ALTER TABLE test_ex_constraints DROP CONSTRAINT test_ex_constraints_c_excl; @@ -1046,6 +1053,7 @@ ALTER TABLE test_ex_constraints DROP CONSTRAINT test_ex_constraints_c_excl; --------+--------+-----------+---------+--------------+------------- c | circle | | plain | | Child tables: test_ex_constraints_inh +Replica Identity: DEFAULT Has OIDs: no \d+ test_ex_constraints_inh @@ -1054,6 +1062,7 @@ Has OIDs: no --------+--------+-----------+---------+--------------+------------- c | circle | | plain | | Inherits: test_ex_constraints +Replica Identity: DEFAULT Has OIDs: no DROP TABLE test_ex_constraints_inh; @@ -1071,6 +1080,7 @@ Indexes: "test_primary_constraints_pkey" PRIMARY KEY, btree (id) Referenced by: TABLE "test_foreign_constraints" CONSTRAINT "test_foreign_constraints_id1_fkey" FOREIGN KEY (id1) REFERENCES test_primary_constraints(id) +Replica Identity: DEFAULT Has OIDs: no \d+ test_foreign_constraints @@ -1081,6 +1091,7 @@ Has OIDs: no Foreign-key constraints: "test_foreign_constraints_id1_fkey" FOREIGN KEY (id1) REFERENCES test_primary_constraints(id) Child tables: test_foreign_constraints_inh +Replica Identity: DEFAULT Has OIDs: no ALTER TABLE test_foreign_constraints DROP CONSTRAINT test_foreign_constraints_id1_fkey; @@ -1090,6 +1101,7 @@ ALTER TABLE test_foreign_constraints DROP CONSTRAINT test_foreign_constraints_id --------+---------+-----------+---------+--------------+------------- id1 | integer | | plain | | Child tables: test_foreign_constraints_inh +Replica Identity: DEFAULT Has OIDs: no \d+ test_foreign_constraints_inh @@ -1098,6 +1110,7 @@ Has OIDs: no --------+---------+-----------+---------+--------------+------------- id1 | integer | | plain | | Inherits: test_foreign_constraints +Replica Identity: DEFAULT Has OIDs: no DROP TABLE test_foreign_constraints_inh; diff --git a/src/test/regress/expected/matview.out b/src/test/regress/expected/matview.out index daf3b9e91d..37db38d0a6 100644 --- a/src/test/regress/expected/matview.out +++ b/src/test/regress/expected/matview.out @@ -104,6 +104,7 @@ View definition: tv.totamt FROM tv ORDER BY tv.type; +Replica Identity: DEFAULT \d+ tvm Materialized view "public.tvm" @@ -116,6 +117,7 @@ View definition: tv.totamt FROM tv ORDER BY tv.type; +Replica Identity: DEFAULT \d+ tvvm Materialized view "public.tvvm" @@ -125,6 +127,7 @@ View definition: View definition: SELECT tvv.grandtot FROM tvv; +Replica Identity: DEFAULT \d+ bb Materialized view "public.bb" @@ -136,6 +139,7 @@ Indexes: View definition: SELECT tvvmv.grandtot FROM tvvmv; +Replica Identity: DEFAULT -- test schema behavior CREATE SCHEMA mvschema; @@ -152,6 +156,7 @@ Indexes: View definition: SELECT sum(tvm.totamt) AS grandtot FROM mvschema.tvm; +Replica Identity: DEFAULT SET search_path = mvschema, public; \d+ tvm @@ -165,6 +170,7 @@ View definition: tv.totamt FROM tv ORDER BY tv.type; +Replica Identity: DEFAULT -- modify the underlying table data INSERT INTO t VALUES (6, 'z', 13); @@ -369,6 +375,7 @@ UNION ALL SELECT v_test2.moo, 3 * v_test2.moo FROM v_test2; +Replica Identity: DEFAULT CREATE MATERIALIZED VIEW mv_test3 AS SELECT * FROM mv_test2 WHERE moo = 12345; SELECT relispopulated FROM pg_class WHERE oid = 'mv_test3'::regclass; diff --git a/src/test/regress/expected/replica_identity.out b/src/test/regress/expected/replica_identity.out index a93897f9df..aeaf0fb757 100644 --- a/src/test/regress/expected/replica_identity.out +++ b/src/test/regress/expected/replica_identity.out @@ -170,7 +170,6 @@ Indexes: "test_replica_identity_unique_nondefer" UNIQUE CONSTRAINT, btree (keya, keyb) "test_replica_identity_hash" hash (nonkey) "test_replica_identity_keyab" btree (keya, keyb) -Replica Identity: FULL ALTER TABLE test_replica_identity REPLICA IDENTITY NOTHING; SELECT relreplident FROM pg_class WHERE oid = 'test_replica_identity'::regclass; diff --git a/src/test/regress/expected/rules.out b/src/test/regress/expected/rules.out index b0b6e27d8a..25a36f4280 100644 --- a/src/test/regress/expected/rules.out +++ b/src/test/regress/expected/rules.out @@ -2609,6 +2609,7 @@ Rules: r3 AS ON DELETE TO rules_src DO NOTIFY rules_src_deletion +Replica Identity: DEFAULT Has OIDs: no --