PostgreSQL 文档检索
PG 18 · 按类别浏览,或输入名称与关键词
分类索引245
DROP VIEW移除一个视图
DROP VIEW [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
表与视图SQL 命令 · 表与视图
END提交当前事务
END [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]
事务控制SQL 命令 · 事务控制
EXCEPTEXCEPT 子句 EXCEPT子句的一般形式如下: select_statement EXCEPT [ ALL | DISTINCT ] select_statement select_statement 是任何没有ORDER BY、LIMIT、FOR NO KEY UPDATE、FOR UPDATE、FOR SHARE以及FOR KEY SHARE子句的 SELECT语句。…SELECT › 参数 › EXCEPT 子句
EXCLUDEEXCLUDE 约束 EXCLUDE 约束类型是 PostgreSQL 的扩展。CREATE TABLE › 兼容性 › EXCLUDE 约束
EXECUTE执行一个预备语句
EXECUTE name [ ( parameter [, ...] ) ]
游标与预备语句SQL 命令 · 游标与预备语句
EXISTS9.24.1. EXISTS # EXISTS (subquery) EXISTS的参数是一个任意的SELECT语句,或者说子查询。系统对子查询进行运算以判断它是否返回行。如果它至少返回一行,那么EXISTS的结果就为“真”;如果子查询没有返回行,那么EXISTS的结果是“假”。 子查询可以引用外层查询的变量,这些变量在该子查询的任何一次计算中都起常量的作用。 这个子查询通常只…子查询表达式 › EXISTS
FETCH使用游标从查询中检索行
FETCH [ direction ] [ FROM | IN ] cursor_name
其中 direction 可以是以下之一:
NEXT
PRIOR
FIRST
LAST
ABSOLUTE count
RELATIVE count
count
ALL
FORWARD
FORWARD count
FORWARD ALL
BACKWARD
BAC…SQL 命令 · 游标与预备语句
FOR KEY SHAREFOR NO KEY UPDATE、FOR UPDATE、FOR SHARE、FOR KEY SHARE 尽管 SQL 标准中出现了FOR UPDATE,但标准只允许它作为 DECLARE CURSOR的一个选项。PostgreSQL允许它出现在任何 SELECT查询以及子SELECT中,但这是一种扩展。FOR NO KEY UPDATE、FOR SHARE 以及FOR KEY…SELECT › 兼容性 › FOR NO KEY UPDATE、FOR UPDATE、FOR SHARE、FOR KEY SHARE
FOR NO KEY UPDATEFOR NO KEY UPDATE、FOR UPDATE、FOR SHARE、FOR KEY SHARE 尽管 SQL 标准中出现了FOR UPDATE,但标准只允许它作为 DECLARE CURSOR的一个选项。PostgreSQL允许它出现在任何 SELECT查询以及子SELECT中,但这是一种扩展。FOR NO KEY UPDATE、FOR SHARE 以及FOR KEY…SELECT › 兼容性 › FOR NO KEY UPDATE、FOR UPDATE、FOR SHARE、FOR KEY SHARE
FOR SHAREFOR NO KEY UPDATE、FOR UPDATE、FOR SHARE、FOR KEY SHARE 尽管 SQL 标准中出现了FOR UPDATE,但标准只允许它作为 DECLARE CURSOR的一个选项。PostgreSQL允许它出现在任何 SELECT查询以及子SELECT中,但这是一种扩展。FOR NO KEY UPDATE、FOR SHARE 以及FOR KEY…SELECT › 兼容性 › FOR NO KEY UPDATE、FOR UPDATE、FOR SHARE、FOR KEY SHARE
FOR UPDATEFOR NO KEY UPDATE、FOR UPDATE、FOR SHARE、FOR KEY SHARE 尽管 SQL 标准中出现了FOR UPDATE,但标准只允许它作为 DECLARE CURSOR的一个选项。PostgreSQL允许它出现在任何 SELECT查询以及子SELECT中,但这是一种扩展。FOR NO KEY UPDATE、FOR SHARE 以及FOR KEY…SELECT › 兼容性 › FOR NO KEY UPDATE、FOR UPDATE、FOR SHARE、FOR KEY SHARE
FROM7.2.1. FROM子句 # FROM子句根据一个以逗号分隔的表引用列表,从一个或多个其他表派生出一个表。 FROM table_reference [, table_reference [, ...]] 表引用可以是表名(可能带有模式限定),也可以是派生表,例如子查询、JOIN结构,或这些形式的复杂组合。如果在FROM子句中列出了多个表引用,那么这些表会被交叉连接(也就是形…表表达式 › FROM子句
GRANT定义访问权限
GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER | MAINTAIN }
[, ...] | ALL [ PRIVILEGES ] }
ON { [ TABLE ] table_name [, ...]
| ALL TABLES IN SCHEMA sch…SQL 命令 · 角色与权限
GREATEST9.18.4. GREATEST和LEAST # GREATEST(value [, ...]) LEAST(value [, ...]) GREATEST和LEAST函数从由任意数量的表达式组成的列表中选取最大值或最小值。这些表达式都必须能转换为同一个数据类型,该类型将作为结果类型(详情参见第 10.5 节)。 参数列表中的 NULL 值会被忽略。只有所有表达式的求值结果都为…条件表达式 › GREATEST和LEAST
GROUP BY7.2.3. GROUP BY和HAVING子句 # 通过WHERE过滤之后,派生出来的输入表还可以使用GROUP BY子句进行分组,并通过HAVING子句排除某些分组行。 SELECT select_list FROM ... [WHERE ...] GROUP BY grouping_column_reference [, grouping_column_reference…表表达式 › GROUP BY和HAVING子句
GROUPINGGROUPING ( group_by_expression(s) ) → integer 返回一个位掩码,指示哪些GROUP BY表达式未包含在当前分组集中。分配比特位时,最右侧参数对应最低有效位;如果相应表达式包含在生成当前结果行的分组集的分组条件中,该位为 0,否则为 1。聚合函数
GROUPING SETS7.2.4. GROUPING SETS、CUBE和ROLLUP # 使用分组集的概念可以实现比上述更加复杂的分组操作。由 FROM和WHERE子句选出的数据被按照每一个指定的分组集单独分组,按照简单GROUP BY子句对每一个分组计算聚合,然后返回结果。例如: => SELECT * FROM items_sold; brand | size | sales -------+…表表达式 › GROUPING SETS、CUBE和ROLLUP
HAVING7.2.3. GROUP BY和HAVING子句 # 通过WHERE过滤之后,派生出来的输入表还可以使用GROUP BY子句进行分组,并通过HAVING子句排除某些分组行。 SELECT select_list FROM ... [WHERE ...] GROUP BY grouping_column_reference [, grouping_column_reference…表表达式 › GROUP BY和HAVING子句
IMPORT FOREIGN SCHEMA从一个外部服务器导入表定义
IMPORT FOREIGN SCHEMA remote_schema
[ { LIMIT TO | EXCEPT } ( table_name [, ...] ) ]
FROM SERVER server_name
INTO local_schema
[ OPTIONS ( option 'value' [, ... ] ) ]
外部数据SQL 命令 · 外部数据
IN9.24.2. IN # expression IN (subquery) 右手边是一个圆括号括起来的子查询,它必须恰好返回一列。左手边表达式会被求值,并与子查询结果逐行比较。如果找到任意相等的子查询行,那么IN的结果就是“真”。如果没有找到相等行,那么结果就是“假”(包括子查询不返回任何行的情况)。 请注意,如果左侧表达式得到空值,或者右侧没有相等的值且至少有一行得到空值,则…子查询表达式 › IN
INSERT在表中插入新行
[ WITH [ RECURSIVE ] with_query [, ...] ]
INSERT INTO table_name [ AS alias ] [ ( column_name [, ...] ) ]
[ OVERRIDING { SYSTEM | USER } VALUE ]
{ DEFAULT VALUES | VALUES ( { expres…SQL 命令 · 查询与数据操作
INTERSECTINTERSECT 子句 INTERSECT子句的一般形式如下: select_statement INTERSECT [ ALL | DISTINCT ] select_statement select_statement 是任何没有ORDER BY、LIMIT、FOR NO KEY UPDATE、FOR UPDATE、FOR SHARE以及FOR KEY SHARE子句的 …SELECT › 参数 › INTERSECT 子句
IS DOCUMENT9.15.2.1. IS DOCUMENT # xml IS DOCUMENT → boolean 如果参数 XML 值是一个正确的 XML 文档,则IS DOCUMENT返回真,如果不是则返回假(即它是一个内容片断),或者是参数为空时返回空。文档和内容片断之间的区别请见第 8.13 节。XML 函数 › XML 谓词 › IS DOCUMENT
IS NOT DOCUMENT9.15.2.2. IS NOT DOCUMENT # xml IS NOT DOCUMENT → boolean 如果参数中的XML值是一个正确的XML文档,那么表达式IS NOT DOCUMENT返回假,否则返回真(也就是说它是一个内容片段),如果参数为空则返回空。XML 函数 › XML 谓词 › IS NOT DOCUMENT
LATERAL7.2.1.5. LATERAL子查询 # 可以在出现于FROM中的子查询前放置关键词LATERAL。这允许它们引用前面的FROM项提供的列(如果没有LATERAL,每一个子查询将被独立计算,并且因此不能交叉引用其他FROM项)。 出现在FROM中的表函数的前面也可以被放上关键词LATERAL,但对于函数该关键词是可选的,在任何情况下函数的参数都可以包含对前面的FROM项提供的…表表达式 › FROM子句 › LATERAL子查询
LEAST9.18.4. GREATEST和LEAST # GREATEST(value [, ...]) LEAST(value [, ...]) GREATEST和LEAST函数从由任意数量的表达式组成的列表中选取最大值或最小值。这些表达式都必须能转换为同一个数据类型,该类型将作为结果类型(详情参见第 10.5 节)。 参数列表中的 NULL 值会被忽略。只有所有表达式的求值结果都为…条件表达式 › GREATEST和LEAST
LIKELIKE 子句 虽然 SQL 标准中存在 LIKE 子句,但 PostgreSQL 接受的许多 LIKE 选项并不在标准中,而标准中的某些选项又没有被 PostgreSQL 实现。CREATE TABLE › 兼容性 › LIKE 子句
LIMIT7.6. LIMIT和OFFSET # LIMIT和OFFSET允许你只检索查询剩余部分产生的行的一部分: SELECT select_list FROM table_expression [ ORDER BY ... ] [ LIMIT { count | ALL } ] [ OFFSET start ] 如果给出了一个限制计数,那么会返回数量不超过该限制的行(但可能更少些,…LIMIT和OFFSET
LISTEN监听通知
LISTEN channel
会话与参数SQL 命令 · 会话与参数
LOAD载入共享库文件
LOAD 'filename'
扩展与访问方法SQL 命令 · 扩展与访问方法
localtimelocaltime → time 一天中的当前时刻;参见第 9.9.5 节 localtime → 14:39:53.662522日期/时间函数和操作符
localtimestamplocaltimestamp → timestamp 当前日期和时间(当前事务开始时);参见第 9.9.5 节 localtimestamp → 2019-12-23 14:39:53.662522日期/时间函数和操作符
LOCK锁定表
LOCK [ TABLE ] [ ONLY ] name [ * ] [, ...] [ IN lockmode MODE ] [ NOWAIT ]
其中 lockmode 可以是以下之一:
ACCESS SHARE | ROW SHARE | ROW EXCLUSIVE | SHARE UPDATE EXCLUSIVE
| SHARE | SHARE ROW E…SQL 命令 · 查询与数据操作
MERGE有条件地插入、更新或删除表中的行
[ WITH with_query [, ...] ]
MERGE INTO [ ONLY ] target_table_name [ * ] [ [ AS ] target_alias ]
USING data_source ON join_condition
when_clause [...]
[ RETURNING [ WITH ( {…SQL 命令 · 查询与数据操作
MOVE定位游标
MOVE [ direction ] [ FROM | IN ] cursor_name
其中 direction 可以是以下之一:
NEXT
PRIOR
FIRST
LAST
ABSOLUTE count
RELATIVE count
count
ALL
FORWARD
FORWARD count
FORWARD ALL
BACKWARD
BACKWARD co…SQL 命令 · 游标与预备语句
NOT IN9.24.3. NOT IN # expression NOT IN (subquery) 右手边是一个圆括号括起来的子查询,它必须恰好返回一列。左手边表达式会被求值,并与子查询结果逐行比较。如果只找到不相等的子查询行(包括子查询不返回任何行的情况),那么NOT IN的结果是“真”。如果找到任何相等行,则结果为“假”。 请注意,如果左侧表达式得到空值,或者右侧没有相等的值且至少…子查询表达式 › NOT IN
NOTIFY发出一个通知
NOTIFY channel [ , payload ]
会话与参数SQL 命令 · 会话与参数
NULLNULL “约束” NULL “约束”(实际上并不是约束)是 PostgreSQL 对 SQL 标准的扩展;提供它是为了与其他一些数据库系统兼容(以及与 NOT NULL 约束保持对称)。由于它本来就是任意列的默认情况,所以它的存在只是噪声。CREATE TABLE › 兼容性 › NULL “约束”
NULLIF9.18.3. NULLIF # NULLIF(value1, value2) 当value1和value2相等时,NULLIF返回 null。否则它返回value1。这可以用于执行前文给出的COALESCE示例的逆操作: SELECT NULLIF(value, '(none)') ... 在这个示例中,如果value是(none),将返回 null,否则返回value的值。…条件表达式 › NULLIF
OFFSET7.6. LIMIT和OFFSET # LIMIT和OFFSET允许你只检索查询剩余部分产生的行的一部分: SELECT select_list FROM table_expression [ ORDER BY ... ] [ LIMIT { count | ALL } ] [ OFFSET start ] 如果给出了一个限制计数,那么会返回数量不超过该限制的行(但可能更少些,…LIMIT和OFFSET
更多结果
输入名称或关键词,从 PostgreSQL 手册与扩展目录中直接找到定义。
pg17: 限定版本 ex: 只搜扩展 ↑↓ 选择 ↵ 打开