PostgreSQL komut satırı istemcisini kullanarak bir görünüm oluşturmak için kullanılan kodu görmenin kolay bir yolu var mı?
SHOW CREATE VIEWMySQL gibi bir şey .
PostgreSQL komut satırı istemcisini kullanarak bir görünüm oluşturmak için kullanılan kodu görmenin kolay bir yolu var mı?
SHOW CREATE VIEWMySQL gibi bir şey .
Yanıtlar:
Aramak için buraya dönmek zorunda kaldım pg_get_viewdef(bunu nasıl hatırlayacağım !!), bu yüzden daha unutulmaz bir komut aradı ... ve anladım:
\d+ viewname
\?Pgsql komut satırına yazarak benzer komutları görebilirsiniz .
Bonus ipucu: emacs komutu sql-postgrespgsql'yi çok daha hoş hale getirir (düzenleme, kopyalama, yapıştırma, komut geçmişi).
\dvtüm görünümleri listeler
select pg_get_viewdef('viewname', true)
Tüm bu işlevlerin bir listesi kılavuzda bulunmaktadır:
http://www.postgresql.org/docs/current/static/functions-info.html
select pg_get_viewdef('viewname'::regclass, true)
SELECT pg_get_viewdef(to_regclass('viewname'))(en az v9.4 gerektirir).
select definition from pg_views where viewname = 'my_view'
select definition from pg_views where schemaname = 'my_schema' and viewname = 'my_view'
Bir ANSI SQL-92 sürümü istiyorsanız:
select view_definition from information_schema.views where table_name = 'view_name';
V.9.6 ve üstü GoodNews, Görünüm düzenleme artık psql'den yereldir. Sadece \evkomutu çağır . Görünüm tanımları yapılandırılmış düzenleyicinizde gösterilir.
julian@assange=# \ev {your_view_names}
Bonus. Sorgu arabelleğiyle etkileşimde bulunmak için bazı yararlı komutlar.
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
Bunlar işaret etmek için küçük bir şey.
Pg_get_viewdef veya pg_views veya information_schema.views işlevini kullanarak her zaman orijinal DDL'nizin yeniden yazılmış bir sürümünü alırsınız .
Yeniden oluşturulan sürüm orijinal DDL komut dosyanızla aynı olabilir veya olmayabilir.
Kural Yöneticisi görünüm tanımınızı yeniden yazarsa, özgün DLL dosyanız kaybolur ve görünüm tanımınızın yalnızca yeniden yazılan sürümünü okuyabilirsiniz.
Tüm görünümler yeniden yazılmaz, ancak alt seçimi veya birleşimleri kullanırsanız, görünümleriniz yeniden yazılır.