Re: Fuzzy thinking in is_publishable_class

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Fuzzy thinking in is_publishable_class
Дата
Msg-id 29939.1557369425@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Fuzzy thinking in is_publishable_class  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Fuzzy thinking in is_publishable_class  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
Re: Fuzzy thinking in is_publishable_class  (Petr Jelinek <petr.jelinek@2ndquadrant.com>)
Список pgsql-hackers
I wrote:
> is_publishable_class has a test "relid >= FirstNormalObjectId",
> which I think we should drop, for two reasons:
> ...
> So what is the motivation for this test?  If there's an important
> reason for it, we need to find a less fragile way to express it.

I tried removing the FirstNormalObjectId check, and found that the
reason for it seems to be "the subscription/t/004_sync.pl test
falls over without it".  That's because that test supposes that
the *only* entry in pg_subscription_rel will be for the test table
that it creates.  Without the FirstNormalObjectId check, the
information_schema relations also show up in pg_subscription_rel,
confusing the script's simplistic status check.

I'm of two minds what to do about that.  One approach is to just
define a "FOR ALL TABLES" publication as including the information_schema
tables, in which case 004_sync.pl is wrong and we should fix it by
adding a suitable WHERE restriction to its pg_subscription_rel check.
However, possibly that would break some applications that are likewise
assuming that no built-in tables appear in pg_subscription_rel.

But, if what we want is the definition that "information_schema is
excluded from publishable tables", I'm not satisfied with this
implementation of that rule.  Dropping/recreating information_schema
would cause the behavior to change.  We could, at the cost of an
additional syscache lookup, check the name of the schema that a
potentially publishable table belongs to and exclude information_schema
by name.  I don't have much idea about how performance-critical
is_publishable_class is, so I don't know how acceptable that seems.

            regards, tom lane



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Kyotaro HORIGUCHI
Дата:
Сообщение: Re: Statistical aggregate functions are not working with PARTIALaggregation
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Inconsistent error message wording for REINDEX CONCURRENTLY