Czy istnieje łatwy sposób, aby zobaczyć kod użyty do utworzenia widoku za pomocą klienta wiersza poleceń PostgreSQL?
Coś jak SHOW CREATE VIEW
z MySQL.
postgresql
Elias Dorneles
źródło
źródło
\dv
zawiera listę wszystkich wyświetleńLista wszystkich tych funkcji jest dostępna w instrukcji:
http://www.postgresql.org/docs/current/static/functions-info.html
źródło
select pg_get_viewdef('viewname'::regclass, true)
SELECT pg_get_viewdef(to_regclass('viewname'))
(wymaga co najmniej wersji 9.4).źródło
select definition from pg_views where schemaname = 'my_schema' and viewname = 'my_view'
Jeśli chcesz mieć wersję ANSI SQL-92:
źródło
GoodNews od wersji 9.6 i nowszych, edycja widoku jest teraz natywna z psql. Po prostu wywołaj
\ev
polecenie. Definicje widoku pojawią się w skonfigurowanym edytorze.julian@assange=# \ev {your_view_names}
Premia. Kilka przydatnych poleceń do interakcji z buforem zapytań.
źródło
To drobiazg, na który należy zwrócić uwagę.
Używając funkcji pg_get_viewdef lub pg_views lub information_schema.views , zawsze otrzymasz przepisaną wersję swojego oryginalnego DDL.
Przeredagowana wersja może być taka sama, jak pierwotny skrypt DDL, ale nie musi.
Jeśli Menedżer reguł przepisze definicję widoku, oryginalna biblioteka DLL zostanie utracona i będzie można odczytać jedyną przepisaną wersję definicji widoku.
Nie wszystkie widoki są przepisywane, ale jeśli użyjesz sub-select lub łączenia, prawdopodobnie Twoje widoki zostaną przepisane.
źródło