Re: allow to \dtS+ pg_toast.*
От | Justin Pryzby |
---|---|
Тема | Re: allow to \dtS+ pg_toast.* |
Дата | |
Msg-id | 20201218173312.GZ30237@telsasoft.com обсуждение исходный текст |
Ответ на | Re: allow to \dtS+ pg_toast.* (Laurenz Albe <laurenz.albe@cybertec.at>) |
Ответы |
Re: allow to \dtS+ pg_toast.*
(Laurenz Albe <laurenz.albe@cybertec.at>)
|
Список | pgsql-hackers |
On Fri, Dec 18, 2020 at 12:43:07PM +0100, Laurenz Albe wrote: > On Fri, 2020-12-18 at 00:58 -0600, Justin Pryzby wrote: > > On Thu, Dec 17, 2020 at 04:16:52PM +0100, Laurenz Albe wrote: > > > On Mon, 2020-11-30 at 10:54 -0600, Justin Pryzby wrote: > > > > This makes toast tables a bit less special and easier to inspect. > > > > > > > > postgres=# \dtS+ pg_toast.pg_toast_2619 > > > > pg_toast | pg_toast_2619 | toast table | pryzbyj | permanent | heap | 56 kB | > > > > > > > > This follows commit from last year: > > > > | eb5472da9 make \d pg_toast.foo show its indices ; and, \d toast show its main table > > > > > > This would indeed be convenient. > > > > > > While playing around with it, I found the following oddity: > > > > > > regression=# \dtS pg_toast.pg_toast_30701 > > > pg_toast | pg_toast_30701 | toast table | laurenz > > > > > > regression=# \dt pg_toast.pg_toast_30701 > > > Did not find any relation named "pg_toast.pg_toast_30701". > > > > > > Now this doesn't seem right. To my understanding, \dtS should do the same as \dt, > > > except that it should also search in "pg_catalog" if no schema was provided. > > > > You mean that if pg_toast.* should be shown if a matching "pattern" is given, > > even if "S" was not used. I think you're right. The behavior I implemented > > was intended to provide a bit of historic compatibility towards hiding toast > > tables, but I think it's not needed, since they're not shown anyway unless > > someone includes "S", specifies the "pg_toast." schema, or pg_toast is in their > > search path. See attached. > > Yes, exactly. > > I wonder why the modification in "listPartitionedTables" is necessary. > Surely there cannot be any partitioned toast tables, can there? The comment should be removed for consistency. And I changed the code for consistency with listTables (from which I assume listPartitionedTables was derived - I was involved in the last stages of that patch). It doesn't need to exclude pg_catalog or information_schema, either, but it's kept the same for consistency. That part could also be removed. > > > Another thing that is missing is tab completion for > > > regression=# \dtS pg_toast.pg_ > > > This should work just like for \d and \dS. .. > If I want to know how big the TOAST table of relation 87654 is, > I think it is convenient if I can tab to > > \dt+ pg_toast.pg_toast_ I agree that it's nice to complete the schema name, but I'm still not convinced this part should be included. The way to include pg_toast.pg_toast is if toast relations are included, which is exactly what Tom pointed out is usually unhelpful. If you include toast relations, tab completion might give "pg_toast.pg_toast_14..." when you wanted to paste "145678" - you'd need to remove the common suffix that it found. I considered whether "toast table" should be capitalized (as it is for "\d") but I think it should stay lowercase. -- Justin
Вложения
В списке pgsql-hackers по дате отправления:
Следующее
От: Justin PryzbyДата:
Сообщение: Re: New Table Access Methods for Multi and Single Inserts