Re: missing toast table for pg_policy

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: missing toast table for pg_policy
Дата
Msg-id 20180217165211.4c5whgl5ccke5lyt@alap3.anarazel.de
обсуждение исходный текст
Ответ на Re: missing toast table for pg_policy  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: missing toast table for pg_policy
Re: missing toast table for pg_policy
Список pgsql-hackers
On 2018-02-17 11:39:57 -0500, Tom Lane wrote:
> BTW, I was wondering if it'd be a good idea to try to forestall future
> oversights of this sort by adding a test query in, say, misc_sanity.sql.
> Something like

+many


>          relname         |     attname     |   atttypid   
> -------------------------+-----------------+--------------
>  pg_aggregate            | agginitval      | text
>  pg_aggregate            | aggminitval     | text

Seems like it should have a toast table, it's not too hard to imagine
some form of aggregate to have a large initial condition.


>  pg_attribute            | attacl          | aclitem[]
>  pg_attribute            | attfdwoptions   | text[]
>  pg_attribute            | attoptions      | text[]

Seems like it should have a toast table, but I think other people
differed.


>  pg_authid               | rolpassword     | text

that seems not not to require one.


>  pg_class                | relacl          | aclitem[]
>  pg_class                | reloptions      | text[]
>  pg_class                | relpartbound    | pg_node_tree

I still think this should have one, but we disagreed. Only argument
against that I can see is complexity around rewrites.


>  pg_collation            | collversion     | text

unnecessary.


>  pg_database             | datacl          | aclitem[]
>  pg_default_acl          | defaclacl       | aclitem[]

hm.

>  pg_event_trigger        | evttags         | text[]

unnecessary?


>  pg_extension            | extcondition    | text[]
>  pg_extension            | extconfig       | oid[]
>  pg_extension            | extversion      | text

Possibly add?


>  pg_foreign_data_wrapper | fdwacl          | aclitem[]
>  pg_foreign_data_wrapper | fdwoptions      | text[]

Possibly add?


>  pg_foreign_server       | srvacl          | aclitem[]
>  pg_foreign_server       | srvoptions      | text[]
>  pg_foreign_server       | srvtype         | text
>  pg_foreign_server       | srvversion      | text
>  pg_foreign_table        | ftoptions       | text[]

Add? That's a fair number of potentially longer fields.


>  pg_index                | indexprs        | pg_node_tree
>  pg_index                | indpred         | pg_node_tree

Imo we should add one here, but honestly I can recall only one or two
complaints.


>  pg_init_privs           | initprivs       | aclitem[]

Only if we decide to make other aclitem containing fields toastable.


>  pg_largeobject          | data            | bytea

We deal with this in other ways.


>  pg_partitioned_table    | partexprs       | pg_node_tree

Probably makes sense.


>  pg_pltemplate           | tmplacl         | aclitem[]
>  pg_pltemplate           | tmplhandler     | text
>  pg_pltemplate           | tmplinline      | text
>  pg_pltemplate           | tmpllibrary     | text
>  pg_pltemplate           | tmplvalidator   | text

Hard to imagine this being required, unless we just want to make
aclitem[] toastable as a rule.


>  pg_policy               | polqual         | pg_node_tree
>  pg_policy               | polroles        | oid[]
>  pg_policy               | polwithcheck    | pg_node_tree

Yes.


>  pg_replication_origin   | roname          | text

unnecessary.


>  pg_subscription         | subconninfo     | text
>  pg_subscription         | subpublications | text[]
>  pg_subscription         | subsynccommit   | text

I'd say yes, with a few alternative hosts connection info can become
quite long.


>  pg_tablespace           | spcacl          | aclitem[]
>  pg_tablespace           | spcoptions      | text[]

Hm?


>  pg_ts_dict              | dictinitoption  | text

probably not.


> I think in most of these cases we've consciously decided not to toast-ify,
> but maybe some of them need a second look.

Greetings,

Andres Freund


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: missing toast table for pg_policy
Следующее
От: Alvaro Hernandez
Дата:
Сообщение: Re: pgbench - allow to specify scale as a size