Di Redshift, mengapa tabel saya tidak muncul di kueri berikut? Itu pasti ada, seperti yang ditunjukkan oleh kueri berikutnya yang saya jalankan. Saya ingin cara membuat daftar semua tabel untuk suatu skema:
mydb=# select distinct(tablename) from pg_table_def where schemaname = 'db';
tablename
-----------
(0 rows)
mydb=# \d db.some_table
Table "db.some_table"
Column | Type | Modifiers
-----------------+-----------------------------+-----------
...correct info shows up here...
...but nothing showed up above?
select schemaname, tablename from pg_table_def
:?Jawaban:
PG_TABLE_DEF di Redshift hanya mengembalikan informasi tentang tabel yang terlihat oleh pengguna, dengan kata lain, itu hanya akan menunjukkan kepada Anda tabel yang ada dalam skema yang didefinisikan dalam variabel search_path. Jika PG_TABLE_DEF tidak mengembalikan hasil yang diharapkan, verifikasi bahwa parameter search_path diatur dengan benar untuk memasukkan skema yang relevan.
Coba ini -
Kemudian jalankan kueri Anda -
sumber
PG_TABLE_DEF hanya akan mengembalikan informasi untuk tabel dalam skema yang termasuk dalam jalur pencarian. Tautan
sumber