Jawaban:
Dalam semua skema:
=> \dt *.*
Dalam skema tertentu:
=> \dt public.*
Dimungkinkan untuk menggunakan ekspresi reguler dengan beberapa batasan
\dt (public|s).(s|t)
List of relations
Schema | Name | Type | Owner
--------+------+-------+-------
public | s | table | cpn
public | t | table | cpn
s | t | table | cpn
Pengguna mahir dapat menggunakan notasi ekspresi reguler seperti kelas karakter, misalnya [0-9] untuk mencocokkan digit mana pun. Semua karakter khusus ekspresi reguler berfungsi sebagaimana ditentukan dalam Bagian 9.7.3, kecuali
.
yang diambil sebagai pemisah seperti yang disebutkan di atas,*
yang diterjemahkan ke notasi ekspresi reguler.*
,?
yang diterjemahkan ke.
, dan$
yang dicocokkan secara harfiah. Anda dapat meniru karakter pola ini saat dibutuhkan dengan menulis?
untuk.
,(R+|)
untukR*
, atau(R|)
untukR?
.$
tidak diperlukan sebagai karakter ekspresi reguler karena polanya harus cocok dengan seluruh nama, tidak seperti interpretasi biasa dari ekspresi reguler (dengan kata lain,$
secara otomatis ditambahkan ke pola Anda). Tuliskan*
di awal dan / atau akhir jika Anda tidak ingin pola itu berlabuh. Perhatikan bahwa dalam tanda kutip ganda, semua karakter khusus ekspresi reguler kehilangan makna khusus mereka dan dicocokkan secara harfiah. Juga, ekspresi reguler karakter khusus dicocokkan secara harfiah dalam pola nama operator (yaitu, argumen dari\do
).
\dt public.user_info, public.user_scope
?
\dt public.a; \dt public.b;
satu baris.
search_path
, dan yang default untuk "$user", public.*
. Akibatnya, set search_path=s; \dt
akan daftar semua tabel dalam skema s
.
Anda dapat memilih tabel dari information_schema
SELECT * FROM information_schema.tables
WHERE table_schema = 'public'
Alternatifnya information_schema
adalah mungkin untuk menggunakan pg_tables
:
select * from pg_tables where schemaname='public';
SELECT tablename FROM pg_tables WHERE schemaname = 'public';
information_schema
tidak mencantumkan item dari public
skema, tetapi pg_tables
metode ini berfungsi dengan baik. Terimakasih banyak!
Bagi mereka yang menemukan ini di masa depan:
Jika Anda ingin melihat daftar hubungan untuk beberapa skema:
$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
\dt
iya\dt public.*
kan?