it-swarm.com.de

Rotverschiebung: Tabellenspalten befinden sich in information_schema.columns, jedoch nicht in pg_catalog.pg_table_def

Ich erstelle eine Tabelle in Redshift. Beim Versuch, nach der Tabellendefinition zu suchen, erhalte ich Ergebnisse von information_schema.columns durch Ausführen der folgenden Abfrage:

select * from information_schema.columns 
where table_name = 'table' and table_schema='schema'

Wenn ich jedoch eine Abfrage für pg_catalog.pg_table_def, Ich bekomme kein Ergebnis zurück.

select * from pg_catalog.pg_table_def 
where tablename = 'table' and  schemaname = 'schema'

Könnte mir jemand helfen zu verstehen, warum dies geschieht? Die Tabelle wird erstellt und gehört dem Konto, das ich verwende.

3
Lee

Prüfen show search_path;, um sicherzustellen, dass Sie sich auf dem aktuellen Pfad befinden, auf dem die Tabelle erstellt wurde. Wie auf der ursprünglichen AWS-Rotverschiebung angegeben Dokumentation .

PG_TABLE_DEF gibt nur Informationen zu Tabellen zurück, die für den Benutzer sichtbar sind.

um zu bekommen, was Sie wollen, sollten Sie laufen

set search_path to '$user', '<#your_schema#>'; select * from pg_catalog.pg_table_def where tablename = '<#your_table#>';

Ich hoffe, das hilft.

3
Joao Caxias