PostgreSQL高级构建块:视图、物化视图、可更新视图与索引详解
1. 视图(Views)
视图是一种虚拟表,它基于 SQL 查询结果集。在 PostgreSQL 中,视图可以通过 CREATE VIEW
语句创建,若视图已存在,可使用 CREATE OR REPLACE VIEW
重新定义。视图属性名可显式指定,也可从 SELECT
语句继承。
以下是创建视图的基本语法:
CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] [ RECURSIVE ] VIEW name [ (
column_name [, ...] ) ]
[ WITH ( view_option_name [= view_option_value] [, ... ] ) ]
AS query
[ WITH [ CASCADED | LOCAL ] CHECK OPTION ]
示例:创建一个仅列出用户信息(不含密码)的视图,这在实现数据授权以限制应用访问密码时很有用。
CREATE VIEW account_information AS
SELECT
account_id,
first_name,
last_name,
email
FROM
account;
使用 \d account_information