Обсуждение: [BUGS] BUG #14535: SET search_path and list tables
The following bug has been logged on the website: Bug reference: 14535 Logged by: Thomas Crenn Email address: totocrenn@gmail.com PostgreSQL version: 9.6.1 Operating system: Windows Description: Hi, I will explain the bug with an example : I have 2 SCHEMAS : test and demo Each schemas have the same TABLE : table Then I change the search path : SET search_path TO test, demo; So when I list all the tables with \dt I should have 2 tables : test.table and demo.table, but I only see test.table. After checking, the table demo.table exist but is just not display on the list. I guess it's because the query apply a DISTINCT only on the table and not on the couple (schema , table). I don't know if it's a bug or if this choice is justified so i have decided to report you this. Best regards. -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs
The following bug has been logged on the website:
Bug reference: 14535
Logged by: Thomas Crenn
Email address: totocrenn@gmail.com
PostgreSQL version: 9.6.1
Operating system: Windows
Description:
Hi,
I will explain the bug with an example :
I have 2 SCHEMAS : test and demo
Each schemas have the same TABLE : table
Then I change the search path :
SET search_path TO test, demo;
So when I list all the tables with \dt I should have 2 tables : test.table
and demo.table, but I only see test.table.
After checking, the table demo.table exist but is just not display on the
list.
I guess it's because the query apply a DISTINCT only on the table and not on
the couple (schema , table).
I don't know if it's a bug or if this choice is justified so i have decided
to report you this.
It is a choice - \dt, without a object schema specified, will show you the single object that would be chosen if you have written a query in a similar fashion:
i.e., SELECT * FROM table;
The table name above can only refer to a single object - chosen based upon search_path order.
David J.
"David G. Johnston" <david.g.johnston@gmail.com> writes: > On Wed, Feb 8, 2017 at 4:33 AM, <totocrenn@gmail.com> wrote: >> I have 2 SCHEMAS : test and demo >> Each schemas have the same TABLE : table >> So when I list all the tables with \dt I should have 2 tables : test.table >> and demo.table, but I only see test.table. > It is a choice - \dt, without a object schema specified, will show you the > single object that would be chosen if you have written a query in a > similar fashion: > i.e., SELECT * FROM table; If you want to see all occurrences of the table name, you can write something like "\dt *.table". But without any schema component in the pattern, psql's \d commands will only show objects that are visible in the search path --- which means "they could be referenced by unqualified names", not "their schema is in the search path someplace". regards, tom lane -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs