Odpowiedzi:
We wszystkich schematach:
=> \dt *.*
W określonym schemacie:
=> \dt public.*
Możliwe jest stosowanie wyrażeń regularnych z pewnymi ograniczeniami
\dt (public|s).(s|t)
List of relations
Schema | Name | Type | Owner
--------+------+-------+-------
public | s | table | cpn
public | t | table | cpn
s | t | table | cpn
Zaawansowani użytkownicy mogą używać notacji wyrażeń regularnych, takich jak klasy znaków, na przykład [0-9], aby dopasować dowolną cyfrę. Wszystkie znaki specjalne wyrażeń regularnych działają zgodnie z opisem w Sekcji 9.7.3, z wyjątkiem tego, że
.jest traktowane jako separator, jak wspomniano powyżej,*który jest tłumaczony na notację wyrażenia regularnego.*,?która jest tłumaczona.i$która jest dosłownie dopasowana. Możesz emulować te znaki wzorca w razie potrzeby pisząc?dla.,(R+|)dlaR*lub(R|)dlaR?.$nie jest potrzebny jako znak wyrażenia regularnego, ponieważ wzorzec musi pasować do całej nazwy, w przeciwieństwie do zwykłej interpretacji wyrażeń regularnych (innymi słowy,$jest automatycznie dołączany do wzoru). Napisz*na początku i / lub na końcu, jeśli nie chcesz, aby wzór został zakotwiczony. Zauważ, że w podwójnych cudzysłowach wszystkie znaki specjalne wyrażeń regularnych tracą swoje specjalne znaczenie i są dosłownie dopasowane. Ponadto znaki specjalne wyrażeń regularnych są dosłownie dopasowywane do wzorców nazw operatorów (tzn. Argumentów\do).
\dt public.user_info, public.user_scope?
\dt public.a; \dt public.b;na jednej linii.
search_path, i że domyślne do "$user", public.*. W związku z tym set search_path=s; \dtma zamiar wyświetlić wszystkie tabele w schemacie s.
Możesz wybrać tabele z information_schema
SELECT * FROM information_schema.tables
WHERE table_schema = 'public'
Alternatywnie information_schemamożna użyć pg_tables:
select * from pg_tables where schemaname='public';
SELECT tablename FROM pg_tables WHERE schemaname = 'public';
information_schemanie wyświetlaniu pozycji ze publicschematu, ale pg_tablesmetoda działała dobrze. Wielkie dzięki!
Dla tych, którzy napotkają to w przyszłości:
Jeśli chcesz zobaczyć listę relacji dla kilku schematów:
$psql mydatabase
mydatabase=# SET search_path TO public, usa; #schema examples
SET
mydatabase=# \dt
List of relations
Schema | Name | Type | Owner
--------+-----------------+-------+----------
public | counties | table | postgres
public | spatial_ref_sys | table | postgres
public | states | table | postgres
public | us_cities | table | postgres
usa | census2010 | table | postgres
\dtjest ekwiwalentny\dt public.*, mam rację?