Odpowiedzi:
Powinieneś być w stanie po prostu uruchomić, select * from information_schema.tables
aby uzyskać listę każdej tabeli zarządzanej przez Postgres dla konkretnej bazy danych.
Możesz także dodać a, where table_schema = 'information_schema'
aby zobaczyć tylko tabele w schemacie informacyjnym.
Aby wyświetlić listę swoich tabel, użyj:
SELECT table_name FROM information_schema.tables WHERE table_schema='public'
Wyświetli tylko tabele, które utworzysz.
\dt information_schema.
z psql powinno być w porządku.
Polecenie „\ z” jest również dobrym sposobem na wyświetlenie listy tabel w interaktywnej sesji psql.
na przykład.
# psql -d mcdb -U admin -p 5555
mcdb=# /z
Access privileges for database "mcdb"
Schema | Name | Type | Access privileges
--------+--------------------------------+----------+---------------------------------------
public | activities | table |
public | activities_id_seq | sequence |
public | activities_users_mapping | table |
[..]
public | v_schedules_2 | view | {admin=arwdxt/admin,viewuser=r/admin}
public | v_systems | view |
public | vapp_backups | table |
public | vm_client | table |
public | vm_datastore | table |
public | vmentity_hle_map | table |
(148 rows)
W przypadku prywatnego schematu 'xxx'
w postgresql:
SELECT table_name FROM information_schema.tables
WHERE table_schema = 'xxx' AND table_type = 'BASE TABLE'
Bez table_type = 'BASE TABLE'
wyświetlisz tabele i widoki
1. pobierz wszystkie tabele i widoki z Information_schema.tables, włączając te z information_schema i pg_catalog.
select * from information_schema.tables
2. tabele i widoki należą do określonego schematu
select * from information_schema.tables
where table_schema not in ('information_schema', 'pg_catalog')
3. tylko tabele (prawie \ dt)
select * from information_schema.tables
where table_schema not in ('information_schema', 'pg_catalog') and
table_type = 'BASE TABLE'
where table_schema not in ('information_schema', 'pg_catalog')
jest?
Jeśli chcesz szybkie i brudne zapytanie z jedną linią:
select * from information_schema.tables
Możesz uruchomić go bezpośrednio w narzędziu Query, bez konieczności otwierania psql.
(Inne posty sugerują ładne, bardziej szczegółowe zapytania information_schema, ale jako nowe, znajduję to jedno-liniowe zapytanie pomaga mi poradzić sobie ze stołem)