| From: | Peter Smith <smithpb2250(at)gmail(dot)com> |
|---|---|
| To: | Dilip Kumar <dilipbalaut(at)gmail(dot)com> |
| Cc: | vignesh C <vignesh21(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Nisha Moond <nisha(dot)moond412(at)gmail(dot)com>, shveta malik <shveta(dot)malik(at)gmail(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: Proposal: Conflict log history table for Logical Replication |
| Date: | 2026-06-25 03:31:29 |
| Message-ID: | CAHut+PvMhAUnQQGo3eKV6FPVN+uq8BBx=j-crh1kr61pkvBiAw@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Some review comments for v56-0001.
======
Tests not passing?
1.
After applying only the v56-0001 patch the regression tests are not
passing. It's allowing me to create and move tables within the
'pg_conflict' schema.
--- /home/postgres/oss_postgres_misc/src/test/regress/expected/subscription.out
2026-06-25 14:53:56.238126138 +1200
+++ /home/postgres/oss_postgres_misc/src/test/regress/results/subscription.out
2026-06-25 15:04:33.540620498 +1200
@@ -905,15 +905,12 @@
-- Trying to create a new table manually in the pg_conflict namespace
-- This should fail as the namespace is reserved for conflict logs tables
CREATE TABLE pg_conflict.manual_table (id int);
-ERROR: permission denied for schema pg_conflict
-LINE 1: CREATE TABLE pg_conflict.manual_table (id int);
- ^
-- Moving an existing table into the pg_conflict namespace
-- Users should not be able to move their own tables within this namespace
CREATE TABLE public.test_move (id int);
ALTER TABLE public.test_move SET SCHEMA pg_conflict;
-ERROR: permission denied for schema pg_conflict
DROP TABLE public.test_move;
+ERROR: table "test_move" does not exist
SET client_min_messages = WARNING;
-- Clean up remaining test subscription
ALTER SUBSCRIPTION regress_conflict_log_default DISABLE;
@@ -930,6 +927,9 @@
DROP SUBSCRIPTION regress_conflict_protection_test;
RESET SESSION AUTHORIZATION;
DROP ROLE regress_subscription_user;
+ERROR: role "regress_subscription_user" cannot be dropped because
some objects depend on it
+DETAIL: owner of table pg_conflict.manual_table
+owner of table pg_conflict.test_move
DROP ROLE regress_subscription_user2;
DROP ROLE regress_subscription_user3;
DROP ROLE regress_subscription_user_dummy;
======
src/backend/catalog/namespace.c
CheckSetNamespace:
2.
/*
* Common checks on switching namespaces.
*
- * We complain if either the old or new namespaces is a temporary schema
- * (or temporary toast schema), or if either the old or new namespaces is the
- * TOAST schema.
+ * We complain if either the old or new namespaces is a temporary schema,
+ * temporary toast schema, the TOAST schema, or the conflict schema.
*/
void
CheckSetNamespace(Oid oldNspOid, Oid nspOid)
Function comment no longer agrees with function body. Where are the
conflict schema errors?
======
src/test/regress/sql/subscription.sql
3.
+-- Trying to create a new table manually in the pg_conflict namespace
+-- This should fail as the namespace is reserved for conflict logs tables
Typo: /conflict logs tables/conflict log tables/
======
Kind Regards,
Peter Smith.
Fujitsu Australia
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Kyotaro Horiguchi | 2026-06-25 03:45:19 | Re: doc: fix pg_stat_autovacuum_scores threshold wording |
| Previous Message | Richard Guo | 2026-06-25 03:18:32 | Re: Add enable_groupagg GUC parameter to control GroupAggregate usage |