J'ai créé la table donordans le schéma referenceselon:
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)
);
J'ai rempli le tableau selon:
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;
Quand je cours:
\dt+ reference.*
à l'intérieur de psql, je vois le reference.donortableau:
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)
Mais quand je cours \dt+ donor*(ou \dt(+)) je ne vois pas le reference.donortableau:
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)
Pourquoi ne puis-je voir le reference.donortableau que si je lance \dt+ reference.*ou \dt+ *.donor?
Je m'attendais \dt(ou \dt+) à l'afficher, mais ce n'est pas le cas.
Mon search_pathinclut le schéma referenceet l'utilisateur postgresa toutes les autorisations sur le schéma referenceet toutes les tables du schéma selon:
GRANT ALL ON ALL TABLES IN SCHEMA reference TO postgres;
Juste pour clarifier, j'ai deux donortableaux, mais ils sont dans deux schémas différents à savoir, oecd.donor& reference.donor. (Je peux voir oecd.donorsans aucun problème lorsque j'utilise l' \dt(+)intérieur de psql).
search_pathpremier et sans que je sache à l'avance les noms des tables / schémas? Ou suis-je mieux de demanderinformation schemapar exemple,:SELECT table_schema, table_name FROM information_schema.tables ORDER BY table_schema, table_name;?