J'ai créé la table donor
dans le schéma reference
selon:
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.donor
tableau:
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.donor
tableau:
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.donor
tableau 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_path
inclut le schéma reference
et l'utilisateur postgres
a toutes les autorisations sur le schéma reference
et toutes les tables du schéma selon:
GRANT ALL ON ALL TABLES IN SCHEMA reference TO postgres;
Juste pour clarifier, j'ai deux donor
tableaux, mais ils sont dans deux schémas différents à savoir, oecd.donor
& reference.donor
. (Je peux voir oecd.donor
sans aucun problème lorsque j'utilise l' \dt(+)
intérieur de psql).
search_path
premier et sans que je sache à l'avance les noms des tables / schémas? Ou suis-je mieux de demanderinformation schema
par exemple,:SELECT table_schema, table_name FROM information_schema.tables ORDER BY table_schema, table_name;
?