Gibt es eine einfache Möglichkeit, den Code anzuzeigen, der zum Erstellen einer Ansicht mit dem PostgreSQL-Befehlszeilenclient verwendet wird?
So etwas wie das SHOW CREATE VIEW
von MySQL.
postgresql
Elias Dorneles
quelle
quelle
\dv
listet alle Ansichten aufEine Liste aller dieser Funktionen finden Sie im Handbuch:
http://www.postgresql.org/docs/current/static/functions-info.html
quelle
select pg_get_viewdef('viewname'::regclass, true)
SELECT pg_get_viewdef(to_regclass('viewname'))
(erfordert mindestens v9.4).quelle
select definition from pg_views where schemaname = 'my_schema' and viewname = 'my_view'
Wenn Sie eine ANSI SQL-92-Version wünschen:
quelle
GoodNews ab Version 9.6, Ansichtsbearbeitung ist jetzt nativ von psql. Rufen Sie einfach den
\ev
Befehl auf. Ansichtsdefinitionen werden in Ihrem konfigurierten Editor angezeigt.julian@assange=# \ev {your_view_names}
Bonus. Ein nützlicher Befehl zur Interaktion mit dem Abfragepuffer.
quelle
Dies ist eine kleine Sache, auf die man hinweisen sollte.
Mit der Funktion pg_get_viewdef oder pg_views oder information_schema.views erhalten Sie immer eine umgeschriebene Version Ihrer ursprünglichen DDL.
Die überarbeitete Version kann mit Ihrem ursprünglichen DDL-Skript identisch sein oder nicht.
Wenn der Regel-Manager Ihre Ansichtsdefinition neu schreibt, geht Ihre ursprüngliche DLL verloren und Sie können nur die neu geschriebene Version Ihrer Ansichtsdefinition lesen.
Nicht alle Ansichten werden neu geschrieben, aber wenn Sie Unterauswahl oder Verknüpfungen verwenden, werden Ihre Ansichten wahrscheinlich neu geschrieben.
quelle