更新时间:2026-10-21 GMT+08:00
分享

GS_ALL_PREPARED_STATEMENTS

GS_ALL_PREPARED_STATEMENTS视图显示所有会话中可用的预备语句的信息。默认只有系统管理员权限才可以访问。

表1 GS_ALL_PREPARED_STATEMENTS字段

名称

类型

描述

pid

bigint

后台线程ID。

说明:

线程池模式下pid显示的是当前会话绑定的线程ID,当会话在不同线程上执行时pid会随之改变。线程池模式下statement与sessionid相关联,与pid无关联,关联查询时建议使用sessionid。

sessionid

bigint

当前会话ID。

global_sessionid

text

全局会话ID。

name

text

预备语句的标识符。

statement

text

创建该预备语句的查询字符串。对于从SQL创建的预备语句而言是客户端提交的PREPARE语句;对于通过前/后端协议创建的预备语句而言是预备语句自身的文本。对于stream pbe功能产生的计划缓存,当前字段在CN记录的是上述内容,而在DN记录的是首次执行时的语句。

prepare_time

timestamp with time zone

创建该预备语句的时间戳。

parameter_types

regtype[]

该预备语句期望的参数类型,以regtype类型的数组格式出现。与该数组元素相对应的OID可以通过把regtype转换为OID值得到。对于stream pbe功能产生的计划缓存,当前字段在DN暂时为空。

from_sql

boolean

  • 如果该预备语句是通过PREPARE语句创建的则为true。
  • 如果是通过前/后端协议创建的则为false。

is_deleted

boolean

表示计划缓存是否被清理,通过GUC参数max_plancache_memory_ratio设置清理阈值。

  • 如果被清理则为TRUE。
  • 如果未被清理则为FALSE。

size

bigint

表示计划缓存占用内存大小,单位为Byte。

valid

boolean

表示计划缓存的失效状态。

  • 如果有效则为TRUE。
  • 如果被失效则为FALSE。

is_reused

boolean

表示该缓存是否被重用。

  • 如果被重用则为TRUE。
  • 如果未被重用则为FALSE。

相关文档