From: | Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com> |
---|---|
To: | Petr Jelinek <petr(dot)jelinek(at)2ndquadrant(dot)com>, Andres Freund <andres(at)anarazel(dot)de> |
Cc: | Erik Rijkers <er(at)xs4all(dot)nl>, Steve Singer <steve(at)ssinger(dot)info>, Craig Ringer <craig(at)2ndquadrant(dot)com>, Simon Riggs <simon(at)2ndquadrant(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, pgsql-hackers-owner(at)postgresql(dot)org |
Subject: | Re: Logical Replication WIP |
Date: | 2017-01-03 19:39:03 |
Message-ID: | 1fa34103-6689-50c0-7b14-0a9e8bdb2dba@2ndquadrant.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
In 0001-Add-PUBLICATION-catalogs-and-DDL-v16.patch.gz,
+static bool
+is_publishable_class(Oid relid, Form_pg_class reltuple)
+{
+ return reltuple->relkind == RELKIND_RELATION &&
+ !IsCatalogClass(relid, reltuple) &&
+ reltuple->relpersistence == RELPERSISTENCE_PERMANENT &&
+ /* XXX needed to exclude information_schema tables */
+ relid >= FirstNormalObjectId;
+}
I don't think the XXX part is necessary, because IsCatalogClass()
already checks for the same thing. (The whole thing is a bit bogus
anyway, because you can drop and recreate the information schema at run
time without restriction.)
+#define MAX_RELCACHE_INVAL_MSGS 100
+ List *relids = GetPublicationRelations(HeapTupleGetOid(tup));
+
+ /*
+ * We don't want to send too many individual messages, at some point
+ * it's cheaper to just reset whole relcache.
+ *
+ * XXX: the MAX_RELCACHE_INVAL_MSGS was picked arbitrarily, maybe
+ * there is better limit.
+ */
+ if (list_length(relids) < MAX_RELCACHE_INVAL_MSGS)
Do we have more data on this? There are people running with 100000
tables, and changing a publication with a 1000 tables would blow all
that away?
Maybe at least it should be set relative to INITRELCACHESIZE (400) to
tie things together a bit?
Update the documentation of SharedInvalCatalogMsg in sinval.h for the
"all relations" case. (Maybe look around the whole file to make sure
comments are still valid.)
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Justin Pryzby | 2017-01-03 19:46:04 | Re: ALTER TABLE .. ALTER COLUMN .. ERROR: attribute .. has wrong type |
Previous Message | Tom Lane | 2017-01-03 19:32:36 | Re: ALTER TABLE .. ALTER COLUMN .. ERROR: attribute .. has wrong type |