↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

PostgreSQL 文档检索

PG 18 · 按类别浏览,或输入名称与关键词

常用条目12360
兼容性章节正文PG18兼容性在 SQL 标准中没有 SECURITY LABEL 命令。兼容性 兼容性章节正文PG18兼容性当然,SELECT 语句与 SQL 标准兼容。但它也有一些扩展和缺失的特性。兼容性 兼容性章节正文PG18兼容性 SQL 标准使用 SELECT INTO 表示将值选入宿主程序的标量变量,而不是创建一个新表。这确实是 ECPG(见第 34 章)和 PL/pgSQL(见第 41 章)中的用法。PostgreSQL 使用 SELECT INTO 表示创建表则是历史遗留用法。其他一些 SQL 实现也以这种方式使用 SELECT INTO(但大多数 SQL 实现改为支持 CREATE TA…兼容性 兼容性章节正文PG18兼容性这个命令符合 SQL 标准定义的行为,但有一个限制:在 PostgreSQL 中,它不会应用在 NOT NULL 和 CHECK 约束上。此外,PostgreSQL 会立即检查不可延迟的唯一约束,而不是像标准所暗示的那样在语句结束时检查。兼容性 兼容性章节正文PG18兼容性 PostgreSQL 允许使用标识符语法("rolename"),而 SQL 标准要求将角色名写成字符串字面量。SQL 不允许在事务中执行这个命令;PostgreSQL 不施加这一限制,因为没有理由这样做。SESSION 和 LOCAL 修饰符,以及 RESET 语法,都是 PostgreSQL 扩展。兼容性 兼容性章节正文PG18兼容性 SQL 标准允许在字面值 user_name 的位置上使用某些其他表达式,但这些选项在实践中并不重要。PostgreSQL 允许使用标识符语法("username"),而 SQL 标准不允许。SQL 不允许在事务中使用这个命令;PostgreSQL 并不做此限制,因为没有理由这样做。SESSION 和 LOCAL 修饰符以及 RESET 语法都是 PostgreSQL …兼容性 兼容性章节正文PG18兼容性这些命令由 SQL 标准定义,但 DEFERRABLE 事务模式和 SET TRANSACTION SNAPSHOT 这种形式除外,它们是 PostgreSQL 扩展。SERIALIZABLE 是标准中的默认事务隔离级别。在 PostgreSQL 中,默认值通常是 READ COMMITTED,但你可以按上述方式修改。在 SQL 标准中,还可以用这些命令设置另一项事务特性…兼容性 兼容性章节正文PG18兼容性 SET TIME ZONE 扩展了 SQL 标准定义的语法。标准只允许使用数值形式的时区偏移量,而 PostgreSQL 允许更灵活的时区指定方式。其他所有 SET 特性都是 PostgreSQL 扩展。兼容性 兼容性章节正文PG18兼容性 SHOW 命令是一种 PostgreSQL 扩展。兼容性 兼容性章节正文PG18兼容性在 SQL 标准中,并不需要发出 START TRANSACTION 来开始一个事务块:任何 SQL 命令都会隐式开始一个事务块。PostgreSQL 的行为可以看作是:对每条不跟在 START TRANSACTION(或 BEGIN)之后的命令,都会在其后隐式发出一个 COMMIT,因此这种行为通常被称为“自动提交”。其他关系型数据库系统也可能为了方便而提供自动提交特性…兼容性 兼容性章节正文PG18兼容性 SQL:2008 标准包括了一个 TRUNCATE 命令,语法是 TRUNCATE TABLE tablename。子句 CONTINUE IDENTITY/RESTART IDENTITY 在该标准中也有出现,但其含义虽相关却略有不同。该命令的某些并发行为在标准中被留作实现定义,因此必要时应结合上述注解并与其他实现进行比较。兼容性 兼容性章节正文PG18兼容性 SQL 标准中没有 UNLISTEN 语句。兼容性 兼容性章节正文PG18兼容性这个命令符合 SQL 标准,不过 FROM 和 RETURNING 子句是 PostgreSQL 扩展,把 WITH 与 UPDATE 一起使用的能力也是扩展。某些其他数据库系统提供一种 FROM 选项,要求在 FROM 中再次列出目标表。PostgreSQL 并不是这样解释 FROM 的。在移植使用这种扩展的应用时要小心。根据标准,目标列名的一个圆括号子列表的源值可以是…兼容性 兼容性章节正文PG18兼容性在 SQL 标准中没有 VACUUM 语句。下列语法在 PostgreSQL 9.0 版本之前使用,并且目前仍受支持:VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ ANALYZE ] [ table_and_columns [, ...] ] 请注意,在这种语法中,选项必须严格按所示顺序指定。兼容性 兼容性章节正文PG18兼容性 VALUES 符合 SQL 标准。LIMIT 和 OFFSET 是 PostgreSQL 扩展,另见 SELECT。兼容性 内存章节正文PG1819.4.1. 内存 shared_buffers (integer) 设置数据库服务器用于共享内存缓冲区的内存量。默认值通常为 128 兆字节(128MB),但如果内核设置不支持,则可能更小(在 initdb 期间确定)。此设置必须至少为 128 千字节。不过,要获得良好性能,通常需要远高于该最小值的设置。如果指定值时没有单位,则以块为单位,即 BLCKSZ 字节,通常为 8…内存 内存管理章节正文PG1845.3. 内存管理 PostgreSQL 在内存上下文中分配内存。内存上下文为管理那些在许多不同位置创建、且生命周期各不相同的内存分配提供了便捷手段。销毁某个上下文时,会释放其中分配的全部内存。因此,不必为了避免内存泄漏而跟踪每个单独对象;只需管理数量相对较少的上下文即可。palloc 及相关函数都从“当前”上下文中分配内存。SPI_connect 创建新的内存上下文并将其设…内存管理 内核资源使用章节正文PG1819.4.3. 内核资源使用 max_files_per_process (integer) # 设置每个服务器子进程允许同时打开的最大文件数量。postmaster 中已经打开的文件不计入此上限。默认值为一千个文件。 如果内核强制实施了安全的每进程上限,就不必担心此设置。但在某些平台上(尤其是大多数 BSD 系统),内核允许单个进程打开的文件数量很大,如果很多进程都尝试打开这…内核资源使用 内置函数章节正文PG18内置函数表 303 中列出的函数都内置于 pgbench,可用于\set 中的表达式。表 303. pgbench 函数 函数 描述 示例 abs ( number ) → 与输入类型相同 绝对值 abs(-17) → 17 debug ( number ) → 与输入类型相同 将参数打印到 stderr,并返回参数。 debug(5432.1) → 5432.1 double…内置函数 内置函数章节正文PG1843.3. 内置函数内置函数 内置探针章节正文PG1827.5.2. 内置探针如表 27.49 所示,源代码中提供了一些标准探针。表 27.50 显示了在探针中使用的类型。当然,可以增加更多探针来增强 PostgreSQL 的可观测性。表 27.49. 内置 DTrace 探针名称 参数 描述 transaction-start (LocalTransactionId) 在一个新事务开始时触发的探针。arg0 是事务 ID。tra…内置探针 内置操作符章节正文PG18内置操作符表 302 中列出的算术、按位、比较和逻辑操作符都内置于 pgbench 中,可用于\set 中的表达式。这些操作符按优先级从低到高列出。除非另有说明,接受两个数字输入的操作符只要任一输入为双精度,就会产生双精度结果;否则产生整数结果。表 302. pgbench 操作符 操作符 描述 示例 boolean OR boolean → boolean 逻辑或 5 or …内置操作符 内置操作符类章节正文PG1865.5.2. 内置操作符类核心 PostgreSQL 发行版包含表 65.4 中所示的 BRIN 操作符类。minmax 操作符类存储该范围内索引列中出现的最小值和最大值。inclusion 操作符类存储一个能够包含该范围内索引列值的值。bloom 操作符类会为该范围内的全部值构建一个布隆过滤器。minmax-multi 操作符类则存储多个最小值和最大值,以表示该范围内索引列…内置操作符类 内置操作符类章节正文PG1865.4.2. 内置操作符类 PostgreSQL 核心发行版包含表 65.3 所示的 GIN 操作符类。(在附录 F 中描述的一些可选模块还提供额外的 GIN 操作符类。)表 65.3. 内置 GIN 操作符类 名称 可索引操作符 array_ops && (anyarray,anyarray) @> (anyarray,anyarray) <@ (anyarray,anya…内置操作符类 内置操作符类章节正文PG1865.2.2. 内置操作符类 PostgreSQL 核心发行版包含表 65.1 中所示的 GiST 操作符类。(附录 F 中描述的一些可选模块还提供了额外的 GiST 操作符类。)表 65.1. 内置 GiST 操作符类 名称 可索引操作符 排序操作符 box_ops << (box, box) <-> (box, point) &< (box, box) && (box, b…内置操作符类 内置操作符类章节正文PG1865.3.2. 内置操作符类 PostgreSQL 核心发行版包含了 SP-GiST 操作符类,如表 65.2 所示。表 65.2. 内置 SP-GiST 操作符类 名称 可索引操作符 排序操作符 box_ops << (box,box) <-> (box,point) &< (box,box) &> (box,box) >> (box,box) <@ (box,box) @>…内置操作符类 内置范围类型和多范围类型章节正文PG188.17.1. 内置范围类型和多范围类型 PostgreSQL 自带下列内置范围类型:int4range — integer 的范围,int4multirange — 对应的多范围类型 int8range — bigint 的范围,int8multirange — 对应的多范围类型 numrange — numeric 的范围,nummultirange — 对应的多范围类型 …内置范围类型和多范围类型 内联章节正文PG1830.1.2. 内联 PostgreSQL 具有很强的可扩展性,允许定义新的数据类型、函数、操作符以及其他数据库对象;见第 36 章。实际上,内置对象几乎也是通过相同的机制实现的。这种可扩展性意味着会有一些额外开销,例如函数调用带来的开销(见第 36.3 节)。为了减少这类开销,JIT 编译可以把小函数的函数体内联到使用它们的表达式中,从而优化掉相当一部分开销。内联 内部章节正文PG1834.17. 内部这一节解释 ECPG 在内部如何工作。这些信息有时有助于用户理解如何使用 ECPG。ecpg 写入输出的前四行是固定的:其中两行是注释,另外两行是与库接口所必需的包含行。随后预处理器会通读整个文件并写出输出,通常它只是把所有内容原样回显到输出中。当它看到 EXEC SQL 语句时,就会介入并对其进行改写。命令以 EXEC SQL 开始,以;结束。其间的所有内容…内部 内部函数章节正文PG1836.9. 内部函数内部函数由 C 编写并且已经被静态链接到 PostgreSQL 服务器中。该函数定义的“主体”指定该函数的 C 语言名称,它不必与为 SQL 使用而声明的名称相同。(出于向后兼容的原因,也接受空主体,此时会认为 C 语言函数名与 SQL 函数名相同。)通常,所有存在于服务器中的内部函数都在数据库集簇的初始化(见第 18.2 节)期间被声明,但是用户可以使用 …内部函数 冲突章节正文PG1829.7. 冲突逻辑复制的行为在一点上类似于普通 DML 操作:即使订阅节点上的数据已在本地被修改,传入的变更仍会更新它。如果传入数据违反了任何约束,复制就会停止,这种情况称为冲突。在复制 UPDATE 或 DELETE 操作时,找不到目标数据也被视为冲突,但不会报错,这类操作会被直接跳过。在以下冲突场景中,会记录附加日志,并收集冲突统计信息(显示在 pg_stat_subsc…冲突 冻结章节正文PG1819.10.4. 冻结为了在事务 ID 回卷后仍保持正确性,PostgreSQL 会将足够旧的行标记为已冻结。这些行对所有事务都可见;其他事务不必检查插入这些行的 XID 就能确定其可见性。VACUUM 负责将行标记为已冻结。以下设置控制 VACUUM 的冻结行为,应根据系统的 XID 消耗速率以及主要工作负载的数据访问模式进行调整。有关事务 ID 回卷和这些参数的调优,详见第…冻结 几何函数和操作符章节正文PG189.11. 几何函数和操作符几何类型 point、box、lseg、line、path、polygon 和 circle 有大量内置支持函数和操作符,如表 9.36、表 9.37 和表 9.38 中所示。几何函数和操作符 几何类型章节正文PG188.8. 几何类型几何数据类型表示二维的空间物体。表 8.20 展示了 PostgreSQL 中可以用的几何类型。表 8.20. 几何类型 名字 存储尺寸 描述 表示 point 16 字节 平面上的点 (x,y) line 24 字节 无限直线 {A,B,C} lseg 32 字节 有限线段 [(x1,y1),(x2,y2)] box 32 字节 矩形框 (x1,y1),(x…几何类型 函数章节正文PG18F.33.1. 函数 pgstattuple(regclass) returns record # pgstattuple 返回一个关系的物理长度、“死”元组所占百分比以及其他信息。这可以帮助用户判断是否需要执行清理。参数是目标关系的名称(可选带模式限定)或 OID。例如: test=> SELECT * FROM pgstattuple('pg_catalog.pg_proc…函数 函数章节正文PG18F.1.1. 函数 bt_index_check(index regclass, heapallindexed boolean, checkunique boolean) returns void bt_index_check 测试其目标 B-树索引是否满足多种不变式。示例用法如下: test=# SELECT bt_index_check(index => c.oid, he…函数 函数章节正文PG18F.18.1. 函数聚合器是聚合函数 int_array_aggregate(integer),它会生成一个整数数组,其中恰好包含输入给它的那些整数。这是对 array_agg 的包装器,后者对任意数组类型都能做同样的事情。枚举器是函数 int_array_enum(integer[]),它返回 setof integer。本质上,它是聚合器的逆操作:给定一个整数数组,将其展开…函数 函数章节正文PG18F.27.1. 函数 pg_freespace(rel regclass IN, blkno bigint IN) returns int2 返回该关系中由 blkno 指定的页面上按 FSM 记录的空闲空间量。 pg_freespace(rel regclass IN, blkno OUT bigint, avail OUT int2) 显示该关系中每个页面上按 FSM 记录…函数 函数章节正文PG18F.28.1. 函数 pg_get_logical_snapshot_meta(filename text) returns record # 获取位于服务器 pg_logical/snapshots 目录中的快照文件的逻辑快照元数据。filename 参数表示快照文件名。例如: postgres=# SELECT * FROM pg_ls_logicalsnapdir(); …函数 函数章节正文PG18F.30.1. 函数 pg_prewarm(regclass, mode text default 'buffer', fork text default 'main', first_block int8 default null, last_block int8 default null) RETURNS int8 第一个参数是要预热的关系。第二个参数是要使用的预热方法,下文…函数
更多结果

输入名称或关键词,从 PostgreSQL 手册与扩展目录中直接找到定义。

pg17: 限定版本 ex: 只搜扩展 ↑↓ 选择 ↵ 打开