Я створив таблицю donor
в схемі reference
відповідно до:
CREATE TABLE reference.donor (
donor_code smallint PRIMARY KEY,
donor_name character varying NOT NULL,
donor_type smallint REFERENCES reference.donor_type (type_id),
alpha_2_code char(2) REFERENCES reference.iso_3166_1 (alpha_2_code)
);
Я заповнив таблицю відповідно до:
INSERT INTO reference.donor (donor_code, donor_name, donor_type, alpha_2_code)
SELECT donor_code, donor_name, donor_type, alpha_2_code
FROM reference.donor_template;
Коли я бігаю:
\dt+ reference.*
всередині psql я бачу reference.donor
таблицю:
List of relations
Schema | Name | Type | Owner | Size | Description
-----------+----------------+-------+----------+-------+-------------
reference | donor | table | postgres | 16 kB |
reference | donor_template | table | postgres | 16 kB |
reference | donor_type | table | postgres | 16 kB |
reference | iso_3166_1 | table | postgres | 48 kB |
(4 rows)
Але коли я біжу \dt+ donor*
(або \dt(+)
), я не бачу reference.donor
таблиці:
List of relations
Schema | Name | Type | Owner | Size | Description
-----------+----------------+-------+----------+-------+-------------
oecd_cl | donor | table | postgres | 16 kB |
reference | donor_template | table | postgres | 16 kB |
reference | donor_type | table | postgres | 16 kB |
(3 rows)
Чому я бачу reference.donor
таблицю лише в тому випадку, коли бігаю \dt+ reference.*
або \dt+ *.donor
?
Я очікував \dt
(або \dt+
) показати його, але це не так.
Моя search_path
включає схему, reference
і користувач postgres
має всі дозволи на схему reference
та всі таблиці в схемі відповідно до:
GRANT ALL ON ALL TABLES IN SCHEMA reference TO postgres;
Просто для уточнення, у мене є дві donor
таблиці, але вони є у двох різних схемах, тобто oecd.donor
& reference.donor
. (Я можу бачити oecd.donor
без проблем, коли я використовую \dt(+)
всередині psql).
search_path
першій і не знаючи назви таблиць / схем заздалегідь? Або я краще запитуюinformation schema
напр .:,SELECT table_schema, table_name FROM information_schema.tables ORDER BY table_schema, table_name;
?