PostgreSQL 文档检索
PG 18 · 按类别浏览,或输入名称与关键词
常用条目12353
piπ的近似值
Approximate value of π
pi ( ) → double precision
数学函数和操作符函数 · 数学函数和操作符
pigiaminja使用Jinja模板导出的PostgreSQL扩展
PostgreSQL extension to export using Jinja templates
pigiaminja
复制与数据流复制与数据流 · 扩展目录
pipeline_kafka为 PipelineDB 集成 Kafka,提供后台消费、消息生产、偏移量与延迟监控
Integrate PipelineDB with Kafka for background-worker consumption, production, offsets, and lag monitoring
background-worker kafka pipelinedb strea…复制与数据流 · 扩展目录
pipeline_kinesis通过动态后台进程将 Amazon Kinesis 流消费到 PipelineDB 流中,并持久化分片位置
Consume Amazon Kinesis streams into PipelineDB streams with dynamic background workers and persisted shard positions
amazon-kinesis aws b…复制与数据流 · 扩展目录
pipelinedb在 PostgreSQL 中运行连续 SQL 查询,实现高吞吐的增量时序聚合
Run continuous SQL queries for high-throughput incremental time-series aggregation in PostgreSQL
continuous-query olap streaming time-series
pipelinedb…分析与列存 · 扩展目录
pixels_fdw读取 Pixels 列式文件的外部数据包装器
Foreign data wrapper for Pixels columnar files
pixels-postgres
外部数据源外部数据源 · 扩展目录
pjpg提供时区转换、日期边界与时间范围等通用 SQL 工具函数。
provide general-purpose SQL utilities for time zones and ranges
sql-utilities time-zone
pjpg
实用工具实用工具 · 扩展目录
pksuid在 PostgreSQL 中生成带前缀且可排序的 KSUID 标识符。
generate prefixed, sortable KSUID identifiers in PostgreSQL
identifier ksuid pgrx
pksuid
函数与聚合函数与聚合 · 扩展目录
PL/Perl第 43 章 PL/Perl — Perl 过程语言第 43 章 PL/Perl — Perl 过程语言
PL/Perl 中的全局值43.4. PL/Perl 中的全局值可以使用全局 hash %_SHARED 在当前会话的整个生命周期内跨函数调用存储数据,包括代码引用。这是共享数据的一个简单示例:CREATE OR REPLACE FUNCTION set_var(name text, val text) RETURNS text AS $$ if ($_SHARED{$_[0]} = $_[1]) { …PL/Perl 中的全局值
PL/Perl 中的数据值43.2. PL/Perl 中的数据值提供给 PL/Perl 函数代码的参数值,就是转换成文本形式的输入参数(就像它们由 SELECT 语句显示出来一样)。相反,return 和 return_next 命令接受任何可作为该函数声明返回类型输入格式的字符串。如果这种行为在特定情况下不方便,可以像前面针对 bool 值演示的那样,通过使用转换来改进。PostgreSQL 发行版中…PL/Perl 中的数据值
PL/Perl 中的辅助函数43.3.2. PL/Perl 中的辅助函数
elog(level, msg) # 发出日志消息或错误信息。可用级别包括 DEBUG、LOG、INFO、NOTICE、WARNING 以及 ERROR。ERROR 会引发错误条件;如果周围的 Perl 代码没有捕获它,错误就会传播到调用查询,导致当前事务或子事务被中止。这实质上等同于 Perl 的 die 命令。其他级别只会生成不…PL/Perl 中的辅助函数
PL/Perl 事件触发器43.7. PL/Perl 事件触发器
PL/Perl 可用于编写事件触发器函数。在事件触发器函数中,hash 引用 $_TD 包含有关当前触发器事件的信息。$_TD 是一个全局变量,对触发器的每一次调用都会得到一个单独的局部值。$_TD hash 引用包含以下字段:$_TD->{event} # 该触发器所针对的事件名称。 $_TD->{tag} # 该触发器所针对的命令标签…PL/Perl 事件触发器
PL/Perl 内部机制43.8. PL/Perl 内部机制PL/Perl 内部机制
PL/Perl 函数和参数43.1. PL/Perl 函数和参数要用 PL/Perl 语言创建一个函数,可使用标准的 CREATE FUNCTION 语法:CREATE FUNCTION funcname (argument-types) RETURNS return-type -- 函数属性可以写在这里 AS $$ # PL/Perl 函数体写在这里 $$ LANGUAGE plperl;
函数的主体…PL/Perl 函数和参数
PL/Perl 触发器43.6. PL/Perl 触发器
PL/Perl 可用于编写触发器函数。在触发器函数中,hash 引用 $_TD 包含有关当前触发器事件的信息。$_TD 是一个全局变量,对触发器的每一次调用都会得到一个单独的局部值。$_TD hash 引用包含以下字段:$_TD->{new}{foo} # 列 foo 的 NEW 值 $_TD->{old}{foo} # 列 foo 的 OL…PL/Perl 触发器
PL/pgSQL第 41 章 PL/pgSQL — SQL 过程语言第 41 章 PL/pgSQL — SQL 过程语言
PL/pgSQL 内部机制41.11. PL/pgSQL 内部机制本节讨论一些实现细节,了解这些细节对 PL/pgSQL 用户通常很重要。PL/pgSQL 内部机制
PL/pgSQL 变量的排序规则41.3.6. PL/pgSQL 变量的排序规则当 PL/pgSQL 函数具有一个或多个支持排序规则的数据类型参数时,每次函数调用都会根据分配给实际参数的排序规则确定出一个排序规则,如第 23.2 节所述。如果该排序规则能成功确定出来(即参数之间的隐式排序规则没有冲突),那么所有支持排序规则的参数都会被视为隐式带有该排序规则。这会影响函数中那些受排序规则影响的操作。例如,考虑
…PL/pgSQL 变量的排序规则
PL/pgSQL 开发提示41.12. PL/pgSQL 开发提示在 PL/pgSQL 中进行开发的一种好方法,是用你喜欢的文本编辑器编写函数,并在另一个窗口里使用 psql 载入和测试这些函数。如果你采用这种方式,最好使用 CREATE OR REPLACE FUNCTION 来编写函数。这样只需重新载入该文件,就可以更新函数定义。例如:CREATE OR REPLACE FUNCTION testf…PL/pgSQL 开发提示
PL/pgSQL 的结构41.2. PL/pgSQL 的结构通过执行 CREATE FUNCTION 命令,可以把用 PL/pgSQL 编写的函数定义到服务器中。这类命令通常类似于:CREATE FUNCTION somefunc(integer, text) RETURNS integer AS 'function body text' LANGUAGE plpgsql;
就 CREATE FUNC…PL/pgSQL 的结构
PL/Python第 44 章 PL/Python — Python 过程语言第 44 章 PL/Python — Python 过程语言
PL/Python 函数44.1. PL/Python 函数
PL/Python 中的函数通过标准的 CREATE FUNCTION 语法声明:CREATE FUNCTION funcname (argument-list) RETURNS return-type AS $$ # PL/Python 函数体 $$ LANGUAGE plpython3u;
函数体只是一个 Python 脚本。调用函数时…PL/Python 函数
PL/Tcl第 42 章 PL/Tcl — Tcl 过程语言第 42 章 PL/Tcl — Tcl 过程语言
PL/Tcl 中的事件触发器函数42.7. PL/Tcl 中的事件触发器函数事件触发器函数也可以用 PL/Tcl 编写。PostgreSQL 要求,凡是要作为事件触发器调用的函数,都必须声明为无参数且返回类型为 event_trigger。来自触发器管理器的信息会通过下列变量传递给函数体:$TG_event # 该触发器所针对的事件名称。 $TG_tag # 该触发器所针对的命令标签。触发器函数的返回值会被忽…PL/Tcl 中的事件触发器函数
PL/Tcl 中的全局数据42.4. PL/Tcl 中的全局数据有时需要在一次函数调用结束后保留某些全局数据,供下一次调用继续使用,或者在不同函数之间共享全局数据。在 PL/Tcl 中这很容易做到,但必须理解其中的一些限制。出于安全原因,PL/Tcl 会针对每个 SQL 角色,在该角色各自独立的 Tcl 解释器中执行其调用的函数。这样可以防止一个用户无意或恶意地干扰另一用户的 PL/Tcl 函数行为。每…PL/Tcl 中的全局数据
PL/Tcl 中的数据值42.3. PL/Tcl 中的数据值提供给 PL/Tcl 函数代码的参数值,只是输入参数转换成文本形式后的结果(就像用 SELECT 语句将它们显示出来一样)。反过来,return 和 return_next 命令会接受任何字符串,只要它是该函数声明结果类型或复合结果类型中指定列的可接受输入格式。PL/Tcl 中的数据值
PL/Tcl 中的显式子事务42.9. PL/Tcl 中的显式子事务从第 42.8 节所述的数据库访问错误中恢复,可能会导致一种不理想的情况:某些操作在其中一个失败之前已经成功完成,而从该错误恢复之后,数据仍处于不一致状态。PL/Tcl 通过显式子事务为这个问题提供了解决方案。考虑一个在两个账户之间执行转账的函数:CREATE FUNCTION transfer_funds() RETURNS void …PL/Tcl 中的显式子事务
PL/Tcl 中的触发器函数42.6. PL/Tcl 中的触发器函数触发器函数也可以用 PL/Tcl 编写。PostgreSQL 要求,凡是要作为触发器调用的函数,都必须声明为无参数且返回类型为 trigger。来自触发器管理器的信息会通过下列变量传递给函数体:$TG_name # CREATE TRIGGER 语句中触发器的名称。 $TG_relid # 导致触发器函数被调用的表的对象 ID。 $TG_…PL/Tcl 中的触发器函数
PL/Tcl 中的错误处理42.8. PL/Tcl 中的错误处理
PL/Tcl 函数内的 Tcl 代码,或从 PL/Tcl 函数调用的 Tcl 代码,都可能引发错误:要么是执行了某个非法操作,要么是通过 Tcl 的 error 命令或 PL/Tcl 的 elog 命令主动生成错误。在 Tcl 中,可以使用 catch 命令捕获这类错误。如果错误没有被捕获,而是一路传播到 PL/Tcl 函数执行的顶层,那…PL/Tcl 中的错误处理
PL/Tcl 函数和参数42.2. PL/Tcl 函数和参数要用 PL/Tcl 语言创建函数,可使用标准的 CREATE FUNCTION 语法:CREATE FUNCTION funcname (argument-types) RETURNS return-type AS $$ # PL/Tcl 函数体 $$ LANGUAGE pltcl;
PL/TclU 的写法相同,只是语言必须指定为 pltcl…PL/Tcl 函数和参数
PL/Tcl 配置42.11. PL/Tcl 配置本节列出影响 PL/Tcl 的配置参数。pltcl.start_proc (string) # 如果该参数被设置为非空字符串,它就指定一个无参数 PL/Tcl 函数的名称(可能带模式限定)。每当为 PL/Tcl 创建新的 Tcl 解释器时,这个函数都会被执行。这样的函数可以执行每个会话的初始化,例如装载额外的 Tcl 代码。当某个 PL/Tcl …PL/Tcl 配置
pl_jsonschema由 PLV8 或 PLJS 驱动的 JSON Schema 验证语言
Trusted JSON Schema validation language backed by PLV8 or PLJS
pl-jsonschema
过程语言过程语言 · 扩展目录
plainto_tsquery将文本转换为tsquery,根据指定的或默认配置对单词进行正规化。
Converts text to a tsquery, normalizing words according to the specified or default configuration.
plainto_tsquery ( [config regconfig, ] query text ) → tsq…函数 · 文本检索函数和操作符
plan_cache_mode控制规划器选择自定义计划还是通用计划。
Controls the planner's selection of custom or generic plan.
plan_cache_mode:控制规划器选择自定义计划还是通用计划。实测在档范围为 PG12–19 Beta 4;最后在档的 PG19 Beta 4 启动默认值为 auto,context 为 user。这是测试版快照…配置参数 · 查询规划 / 其他规划器选项
plan_filter基于计划估算成本的语句与事务负载保护
Cooperative statement and transaction guards based on estimated plan cost
planner cost-limit transaction guard
pg_plan_filter
功能特性功能特性 · 扩展目录
planinstr用于测量 PostgreSQL 规划耗时的规划器钩子,主要面向调试场景。
Planner hook for measuring PostgreSQL planning time, intended mainly for debugging.
instrument planner plugin
planinstr
监控统计监控统计 · 扩展目录
planner_hook接管查询规划入口,返回可执行的计划。
查询规划入口
查询规划
查询即将生成 PlannedStmt 时调用此钩子。它接收分析和重写后的查询以及规划参数,返回计划语句。扩展可包装 standard_planner 来观测或调整规划过程,也可以提供自己的规划实现。
typedef PlannedStmt *(*planner_hook_type) (Query *parse, in…扩展钩子 · 查询规划
planner_setup_hook在标准规划器开始规划子查询之前介入初始化。
规划器初始化
查询规划
标准规划器建立全局规划状态后、进入子查询规划之前调用此钩子。它提供 PlannerGlobal、查询树和游标选项,便于扩展为这次规划准备状态。
typedef void (*planner_setup_hook_type) (PlannerGlobal *glob, Query *parse, const ch…扩展钩子 · 查询规划
planner_shutdown_hook在标准规划器生成计划后执行收尾处理。
规划器收尾
查询规划
标准规划器完成 PlannedStmt 构建后调用此钩子,并传入全局规划状态、原查询与生成的结果。扩展可利用仍可访问的规划上下文整理此次规划的附加信息。
typedef void (*planner_shutdown_hook_type) (PlannerGlobal *glob, Query *parse, cons…扩展钩子 · 查询规划
更多结果
输入名称或关键词,从 PostgreSQL 手册与扩展目录中直接找到定义。
pg17: 限定版本 ex: 只搜扩展 ↑↓ 选择 ↵ 打开