6 ответов:
все время приходилось возвращаться сюда, чтобы посмотреть вверх
pg_get_viewdef(как помню!!), поэтому искал более запоминающуюся команду... и получил его:\d+ viewnameвы можете увидеть подобные виды команд, введя
\?в командной строке pgsql.бонус совет: команда emacs
sql-postgresделает pgsql намного более приятным (редактирование, копирование, вставка, история команд).
select pg_get_viewdef('viewname', true)список всех этих функций доступен в руководстве:
http://www.postgresql.org/docs/current/static/functions-info.html
Если вы хотите версию ANSI SQL-92:
select view_definition from information_schema.views where table_name = 'view_name';
GoodNews от V. 9. 6 и выше, редактирование вида теперь является родным для psql. Просто вызовите его с помощью этой команды, определения представления будут отображаться в Редакторе по умолчанию.
julian@assange=# \ev {your_view_names}бонус. Некоторые полезные команды для взаимодействия с буфером запросов.
Query Buffer \e [FILE] [LINE] edit the query buffer (or file) with external editor \ef [FUNCNAME [LINE]] edit function definition with external editor \ev [VIEWNAME [LINE]] edit view definition with external editor \p show the contents of the query buffer \r reset (clear) the query buffer \s [FILE] display history or save it to file \w FILE write query buffer to file
Это маленькая вещь, чтобы указать.
С помощью функции pg_get_viewdef или pg_views или information_schema.просмотров вы всегда получите перезаписанную версию вашего оригинального DDL.
Перезаписанная версия может быть или не быть такой же, как ваш сценарий DDL originl.
Если диспетчер правил перепишет ваше определение представления, ваша исходная DLL будет потеряна, и вы сможете прочитать только перезаписанную версию вашего определения представления.
Не все представления перезаписываются но если вы используете sub-select или joins, вероятно, ваши представления будут перезаписаны.
Comments