Có cách nào dễ dàng để xem mã được sử dụng để tạo chế độ xem bằng ứng dụng khách dòng lệnh PostgreSQL không?
Một cái gì đó giống như SHOW CREATE VIEW
từ MySQL.
Có cách nào dễ dàng để xem mã được sử dụng để tạo chế độ xem bằng ứng dụng khách dòng lệnh PostgreSQL không?
Một cái gì đó giống như SHOW CREATE VIEW
từ MySQL.
Câu trả lời:
Phải quay lại đây để tìm kiếm pg_get_viewdef
(làm thế nào để nhớ điều đó !!), vì vậy đã tìm kiếm một lệnh đáng nhớ hơn ... và nhận được nó:
\d+ viewname
Bạn có thể thấy các loại lệnh tương tự bằng cách gõ \?
vào dòng lệnh pssql.
Tiền thưởng: Lệnh emacs sql-postgres
làm cho pssql dễ chịu hơn rất nhiều (chỉnh sửa, sao chép, dán, lịch sử lệnh).
\dv
liệt kê tất cả các lượt xem
select pg_get_viewdef('viewname', true)
Một danh sách tất cả các chức năng có sẵn trong hướng dẫn:
http://www.postgresql.org/docs/civerse/static/fifts-info.html
select pg_get_viewdef('viewname'::regclass, true)
SELECT pg_get_viewdef(to_regclass('viewname'))
(yêu cầu ít nhất là v9.4).
select definition from pg_views where viewname = 'my_view'
select definition from pg_views where schemaname = 'my_schema' and viewname = 'my_view'
Nếu bạn muốn có phiên bản ANSI SQL-92:
select view_definition from information_schema.views where table_name = 'view_name';
GoodNews từ v.9.6 trở lên, Xem chỉnh sửa hiện có nguồn gốc từ psql. Chỉ cần gọi \ev
lệnh. Xem định nghĩa sẽ hiển thị trong trình chỉnh sửa cấu hình của bạn.
julian@assange=# \ev {your_view_names}
Tặng kem. Một số lệnh hữu ích để tương tác với bộ đệm truy vấn.
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
Đây là một điều nhỏ để chỉ ra.
Sử dụng hàm pg_get_viewdef hoặc pg_view hoặc information_schema.view, bạn sẽ luôn nhận được phiên bản viết lại của DDL ban đầu của mình.
Phiên bản được viết lại có thể giống hoặc không giống với tập lệnh DDL gốc của bạn.
Nếu Trình quản lý quy tắc viết lại định nghĩa chế độ xem của bạn, DLL gốc của bạn sẽ bị mất và bạn chỉ có thể đọc phiên bản viết lại của định nghĩa chế độ xem của mình.
Không phải tất cả các chế độ xem được viết lại nhưng nếu bạn sử dụng chọn phụ hoặc tham gia có thể các chế độ xem của bạn sẽ được viết lại.