Yanıtlar:
Tüm şemalarda:
=> \dt *.*
Belirli bir şemada:
=> \dt public.*
Bazı kısıtlamalarla düzenli ifadeler kullanmak mümkündür
\dt (public|s).(s|t)
List of relations
Schema | Name | Type | Owner
--------+------+-------+-------
public | s | table | cpn
public | t | table | cpn
s | t | table | cpn
Gelişmiş kullanıcılar, herhangi bir rakamla eşleşmek için karakter sınıfları gibi normal ifade gösterimlerini kullanabilirler, örneğin [0-9]. Bölüm 9.7.3 belirtilen tüm normal ifade Özel karakterler için, çalışma
., yukarıda belirtildiği gibi, bir ayırıcı olarak alınır*normal ifade gösterimde çevrilir.*,?çevrilir.ve$tam anlamıyla eşleştirilir olan. Sen yazarak ihtiyaç olarak bu desen karakterleri taklit edebilir?için.,(R+|)içinR*, ya(R|)içinR?.$normal ifadelerin olağan yorumlamasından farklı olarak, desen tüm adla eşleşmesi gerektiğinden, normal ifade karakteri olarak gerekli değildir (diğer bir deyişle,$, deseninize otomatik olarak eklenir).*Desenin sabitlenmesini istemiyorsanız başlangıçta ve / veya sonunda yazın . Çift tırnak içinde, tüm normal ifade özel karakterlerinin özel anlamlarını yitirdiğini ve kelimenin tam anlamıyla eşlendiğini unutmayın. Ayrıca, normal ifade özel karakterleri operatör adı örüntülerinde (yani, argümanında\do) tam anlamıyla eşleştirilir .
\dt public.user_info, public.user_scopemi?
\dt public.a; \dt public.b;bir satırda yapmak daha kolay .
search_pathve bu varsayılan değerdir "$user", public.*. Sonuç olarak, set search_path=s; \dtşemadaki tüm tabloları listeleyecektir s.
Tabloları aşağıdakilerden seçebilirsiniz: information_schema
SELECT * FROM information_schema.tables
WHERE table_schema = 'public'
Alternatif olarak aşağıdakiler information_schemade kullanılabilir pg_tables:
select * from pg_tables where schemaname='public';
SELECT tablename FROM pg_tables WHERE schemaname = 'public';
information_schemaöğeleri listelememeyle ilgili bir izin sorunu bulundu public, ancak pg_tablesyöntem iyi çalıştı. Çok teşekkürler!
Gelecekte bununla karşılaşanlar için:
Birkaç şema için ilişkilerin bir listesini görmek istiyorsanız:
$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
\dteşdeğerdir\dt public.*, doğru mu?