Warum wird meine Tabelle bei Redshift in der folgenden Abfrage nicht angezeigt? Es existiert definitiv, wie die nächste Abfrage zeigt, die ich ausführe. Ich möchte eine Möglichkeit, alle Tabellen für ein Schema aufzulisten:
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
?Antworten:
PG_TABLE_DEF in Redshift gibt nur Informationen zu Tabellen zurück, die für den Benutzer sichtbar sind. Mit anderen Worten, es werden nur die Tabellen in den Schemas angezeigt, die in der Variablen search_path definiert sind. Wenn PG_TABLE_DEF die erwarteten Ergebnisse nicht zurückgibt, stellen Sie sicher , dass der Parameter search_path so eingestellt ist, dass er die relevanten Schemas enthält.
Versuche dies -
Führen Sie dann Ihre Abfrage aus -
quelle
PG_TABLE_DEF gibt nur Informationen für Tabellen in Schemas zurück, die im Suchpfad enthalten sind. Verknüpfung
quelle