华为云用户手册

  • 参数 表1 psycopg2.connect参数 关键字 参数说明 dbname 数据库名称。 user 用户名。 password 密码。 host 数据库IP地址,可指定多IP,IP间以逗号隔开,默认为UNIX socket类型。 port 连接端口号,默认为5432。host为多IP时,如端口号相同,指定一个端口号。否则,端口号与IP一一对应,以逗号隔开。 sslmode ssl模式,ssl连接时用。 sslcert 客户端证书路径,ssl连接时用。 sslkey 客户端密钥路径,ssl连接时用。 sslrootcert 根证书路径,ssl连接时用。 hostaddr 数据库IP地址。 connect_timeout 客户端连接超时时间。 client_encoding 客户端编码格式。 application_name application_name的参数值。 fallback_application_name application_name参数的回退值。 keepalives 控制是否客户端TCP保持连接,默认为1,表示打开;值为0时,表示关闭。若UNIX域套接字连接,则忽略。 options 连接开始时发送给服务器的命令行选项。 keepalives_idle 控制向服务器发送keepalive消息之前不活动的描述,若keepalive被禁用,则忽略此参数。 keepalives_interval 控制未得到服务器确认的keepalive消息应重新传输的描述,若keepalive被禁用,则忽略此参数。 keepalives_count 控制客户端与服务端连接断开之前可能丢失的tcp保持连接的数量。 replication 确认连接使用的是复制协议而不是普通协议。 requiressl 支持sslmode设置。 sslcompression ssl压缩。设置为1,则通过ssl连接发送的数据将被压缩;设置为0,则禁用压缩。若没有建立ssl的连接,则忽略此参数。 sslcrl 证书吊销列表文件路径,验证ssl服务端证书是否可用。 requirepeer 指定服务器的操作系统用户名。 target_session_attrs 设定连接的主机的类型。主机的类型和设定的值一致时才能连接成功。指定多IP时才会校验此参数。target_session_attrs的设置规则如下: any:可以对所有类型的主机进行连接。 read-write:当连接的主机允许可读可写时,才进行连接。 read-only:仅对可读的主机进行连接。 primary(默认值):仅对主备系统中的主机能进行连接。 standby:仅对主备系统中的备机进行连接。 prefer-standby:首先尝试找到一个备机进行连接。如果对hosts列表的所有机器都连接失败,那么尝试“any”模式进行连接。
  • audit_thread_num 参数说明:该参数表明用于审计的线程个数。 参数类型:整型 参数单位:个(表示线程数量) 取值范围:1~48 默认值:1 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议:设置为默认值。 对性能的影响:线程数量设置越多,对系统性能的影响越大。 对资源占用的影响:线程数量设置越多,占用的系统CPU和I/O越多。 当audit_dml_state开关打开且在高性能场景下,建议增大此参数保证审计消息可以被及时处理和记录。
  • audit_file_remain_threshold 参数说明:审计目录下审计文件个数的最大值。 参数类型:整型 参数单位:个 取值范围:100 ~ 1048576 默认值:1048576 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:建议设置为默认值。详情请参考以下须知。 请尽量保证此参数为1048576,并不要随意调整此参数,否则可能会导致audit_resource_policy无法生效,如果需要控制审计日志的存储空间和时间,请使用audit_resource_policy、audit_space_limit和audit_file_remain_time参数进行控制。 多审计线程场景下不建议调整此参数,请保证此参数不小于审计线程个数audit_thread_num,否则会导致审计功能无法正常使用与数据库异常。
  • audit_directory 参数说明:审计文件的存储目录。可以是相对于数据目录data的相对路径,也可以是绝对路径,仅sysadmin用户可以访问。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 默认值:pg_audit。如果使用om工具部署集群,则审计日志路径为“$GAUSSLOG/pg_audit/实例名称”。 不同的CN或DN实例需要设置不同的审计文件存储目录,否则会导致审计日志异常。 当配置文件中audit_directory的值为非法路径时,会导致审计功能无法使用。
  • audit_space_limit 参数说明:审计文件占用的磁盘空间总量。 参数类型:整型 参数单位:KB 取值范围:1024KB~1024GB 默认值:1GB 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 此参数的生效范围是pg_audit目录下的单个进程实例文件夹。即默认情况下,每一个CN、DN目录审计文件占用磁盘空间总量是1GB。 多审计线程场景下,审计文件占用的磁盘空间最小值是audit_thread_num与audit_rotation_size的乘积,请保证audit_space_limit的值大于audit_thread_num与audit_rotation_size的乘积。
  • audit_rotation_interval 参数说明:指定创建一个新审计日志文件的时间间隔。当现在的时间减去上次创建一个审计日志的时间超过了此参数值时,服务器将生成一个新的审计日志文件。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,1~35791394,单位为min。 默认值:1d 请不要随意调整此参数,否侧可能会导致audit_resource_policy无法生效,如果需要控制审计日志的存储空间和时间,请使用audit_resource_policy、audit_space_limit和audit_file_remain_time参数进行控制。
  • audit_rotation_size 参数说明:指定审计日志文件的最大容量。当审计日志消息的总量超过此参数值时,服务器将生成一个新的审计日志文件。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,1024~1048576,单位为KB。 默认值:10MB 请不要随意调整此参数,否侧可能会导致audit_resource_policy无法生效,如果需要控制审计日志的存储空间和时间,请使用audit_resource_policy、audit_space_limit和audit_file_remain_time参数进行控制。 审计日志文件中记录的单条日志占用空间大小超过此参数值时会被作为无效日志文件。
  • 开发流程中涉及的API 表1 相关API说明 功能 API 申请句柄资源 SQLAllocHandle:申请句柄资源,可替代如下函数: SQLAllocEnv:申请环境句柄 SQLAllocConnect:申请连接句柄 SQLAllocStmt:申请语句句柄 设置环境属性 SQLSetEnvAttr 设置连接属性 SQLSetConnectAttr 设置语句属性 SQLSetStmtAttr 连接数据源 SQLConnect 绑定缓冲区到结果集的列中 SQLBindCol 绑定SQL语句的参数标志和缓冲区 SQLBindParameter 查看最近一次操作错误信息 SQLGetDiagRec 为执行SQL语句做准备 SQLPrepare 执行一条准备好的SQL语句 SQLExecute 直接执行SQL语句 SQLExecDirect 结果集中取行集 SQLFetch 返回结果集中某一列的数据 SQLGetData 获取结果集中列的描述信息 SQLColAttribute 断开与数据源的连接 SQLDisconnect 释放句柄资源 SQLFreeHandle:释放句柄资源,可替代如下函数: SQLFreeEnv:释放环境句柄 SQLFreeConnect:释放连接句柄 SQLFreeStmt:释放语句句柄 ODBC为应用程序与数据库的中心层,负责把应用程序发出的SQL指令传到数据库当中,自身并不解析SQL语法。故在应用程序中写入带有保密信息的SQL语句时,保密信息会被暴露在驱动日志中。 数据库中收到的一次执行请求(不在事务块中),如果含有多条语句,将会被打包成一个事务,如果其中有一个语句失败,那么整个请求都将会被回滚。
  • SUMMARY_STATIO_SYS_INDEXES SUMMARY_STATIO_SYS_INDEXES视图显示集群内汇聚的命名空间中所有系统表索引的I/O状态信息,如表1所示。 表1 SUMMARY_STATIO_SYS_INDEXES字段 名称 类型 描述 schemaname name 该索引的模式名。 relname name 该索引的表名。 indexrelname name 索引名称。 idx_blks_read numeric 从索引中读取的磁盘块数。 idx_blks_hit numeric 索引命中缓存数。 父主题: Cache/IO
  • PG_AVAILABLE_EXTENSION_VERSIONS PG_AVAILABLE_EXTENSION_VERSIONS视图显示数据库中某些特性的扩展版本信息。该视图为内部使用,不建议用户使用。具体字段信息如表1所示。 表1 PG_AVAILABLE_EXTENSION_VERSIONS字段 名称 类型 描述 name name 扩展名。 version text 版本名。 installed boolean 如果这个扩展的版本是当前已经安装了的则为真。否则为假。 superuser boolean 如果只允许系统管理员安装这个扩展则为真。否则为假。 relocatable boolean 如果扩展可以重新加载到另一个模式则为真。否则为假。 schema name 扩展必须安装到的模式名,如果部分或全部可重新定位则为NULL。 requires name[] 先决条件扩展的名称,如果没有则为NULL。 comment text 扩展的控制文件中的评论。 父主题: 其他系统视图
  • GS_MY_ILMEVALUATIONDETAILS GS_MY_ILMEVALUATIONDETAILS视图描述ADO Task的评估详情信息,包含Task ID,策略信息、对象信息、评估结果以及ADO JOB名称。 表1 GS_MY_ILMEVALUATIONDETAILS字段 名称 类型 描述 task_id bigint ADO Task的ID。 policy_name character varying(128) ADO策略名称,系统自动生成,规则为:p+策略ID。 object_owner character varying(128) 数据对象Schema名称。 object_name character varying(128) 数据对象名称。 subobject_name character varying(128) 数据对象分区名称。 object_type character varying(18) 数据对象类型: r:表。 p:分区。 s:二级分区。 selected_for_execution character varying(42) 评估结果: SELECTED FOR EXECUTION:评估通过。 PRECONDITION NOT SATISFIED:评估不通过。 JOB ALREADY EXISTS:任务已存在。 job_name character varying(128) 执行具体ADO Job的任务名称,当评估结果为评估通过时,此处有值。 comments character varying(4000) 预留字段。 node_name name 数据来源节点的名称。 父主题: OLTP表压缩
  • ADM_AUDIT_OBJECT ADM_AUDIT_OBJECT显示数据库中所有对象的审计跟踪记录,该视图同时存在于pg_catalog和sys schema下。默认只有系统管理员权限才可以访问,普通用户需要授权才可以访问。 表1 ADM_AUDIT_OBJECT字段 名称 类型 描述 os_username character varying(255) 暂不支持,值为NULL。 username character varying(128) 操作被审计的用户的名称,不是用户ID。 userhost character varying(128) 暂不支持,值为NULL。 terminal character varying(255) 暂不支持,值为NULL。 timestamp date 在本地数据库会话时区中创建审计跟踪条目的日期和时间(审计会话创建条目的用户登录日期和时间)。 owner character varying(128) 受操作影响的对象的创建者。 obj_name character varying(128) 受操作影响的对象的名称。 action_name character varying(28) DBA_AUDIT_TRAIL中的“操作”列中的数字代码对应的动作类型名称。 说明: GaussDB的action_name字段与ORA数据库审计动作不一致。 new_owner character varying(128) 暂不支持,值为NULL。 new_name character varying(128) 暂不支持,值为NULL。 ses_actions character varying(19) 暂不支持,值为NULL。 comment_text character varying(4000) 暂不支持,值为NULL。 sessionid numeric 暂不支持,值为NULL。 entryid numeric 暂不支持,值为NULL。 statementid numeric 暂不支持,值为NULL。 returncode numeric 暂不支持,值为NULL。 priv_used character varying(40) 暂不支持,值为NULL。 client_id character varying(128) 暂不支持,值为NULL。 econtext_id character varying(64) 暂不支持,值为NULL。 session_cpu numeric 暂不支持,值为NULL。 extended_timestamp timestamp(6) with time zone 在UTC(协调世界时)时区创建审计跟踪条目的时间戳(审计会话创建条目的用户的登录时间戳)。 proxy_sessionid numeric 暂不支持,值为NULL。 global_uid character varying(32) 暂不支持,值为NULL。 instance_number numeric 暂不支持,值为NULL。 os_process character varying(16) 暂不支持,值为NULL。 transactionid text 访问或修改对象的事务的事务标识符。 说明: GaussDB的transactionid字段与ORA数据库中transactionid数据的类型保持一致。 scn numeric 暂不支持,值为NULL。 sql_bind nvarchar2(2000) 暂不支持,值为NULL。 sql_text character varying 查询的SQL文本。 说明: GaussDB的sql_text字段为解析后sql描述语句,不完全与执行的sql语句相同。 obj_edition_name character varying(128) 暂不支持,值为NULL。 父主题: 审计
  • 注意事项 清除(PURGE)操作支持:表(PURGE TABLE)、索引(PURGE INDEX)、回收站(PURGE RECYCLEBIN)。 执行PURGE操作的权限要求如下: PURGE TABLE:用户必须是表的所有者,且用户必须拥有表所在模式的USAGE权限,当三权分立开关关闭时,系统管理员默认拥有此权限。 PURGE INDEX:用户必须是索引的所有者,用户必须拥有索引所在模式的USAGE权限,当三权分立开关关闭时,系统管理员默认拥有此权限。 PURGE RECYCLEBIN:普通用户只能清理回收站中当前用户拥有的对象,且用户必须拥有对象所在模式的USAGE权限,当三权分立开关关闭时,系统管理员默认可以清理回收站所有对象。
  • 示例 --创建表reason_t1。 gaussdb=# CREATE TABLE reason_t1( r_reason_sk integer, r_reason_id character(16), r_reason_desc character(100) ) WITH(STORAGE_TYPE = ustore); --创建表reason_t2。 gaussdb=# CREATE TABLE reason_t2( r_reason_sk integer, r_reason_id character(16), r_reason_desc character(100) ) WITH(STORAGE_TYPE = ustore); -- 对表reason_t1和reason_t2添加索引。 gaussdb=# CREATE INDEX idx_t1 on reason_t1(r_reason_id); gaussdb=# CREATE INDEX idx_t2 on reason_t2(r_reason_id); gaussdb=# DROP TABLE reason_t1; gaussdb=# DROP TABLE reason_t2; --查看回收站。 gaussdb=# SELECT rcyname,rcyoriginname,rcytablespace FROM GS_RECYCLEBIN; rcyname | rcyoriginname | rcytablespace ----------------------------+---------------+--------------- BIN$31C94EB4207$8001$0==$0 | reason_t1 | 0 BIN$31C94EB420D$8001$0==$0 | idx_t1 | 0 BIN$31C94EB420A$8004$0==$0 | reason_t2 | 0 BIN$31C94EB420E$8004$0==$0 | idx_t2 | 0 (4 rows) --PURGE清除表。 gaussdb=# PURGE TABLE reason_t1; gaussdb=# SELECT rcyname,rcyoriginname,rcytablespace FROM GS_RECYCLEBIN; rcyname | rcyoriginname | rcytablespace ----------------------------+---------------+--------------- BIN$31C94EB420A$8004$0==$0 | reason_t2 | 0 BIN$31C94EB420E$8004$0==$0 | idx_t2 | 0 (2 rows) --PURG清除索引。 gaussdb=# PURGE INDEX idx_t2; gaussdb=# SELECT rcyname,rcyoriginname,rcytablespace FROM GS_RECYCLEBIN; rcyname | rcyoriginname | rcytablespace ----------------------------+---------------+--------------- BIN$31C94EB420A$8004$0==$0 | reason_t2 | 0 (1 row) --PURGE清除回收站所有对象。 gaussdb=# PURGE recyclebin; gaussdb=# SELECT rcyname,rcyoriginname,rcytablespace FROM GS_RECYCLEBIN; rcyname | rcyoriginname | rcytablespace -----------------------+---------------+--------------- (0 rows)
  • sqlca 嵌入式SQL接口提供了sqlca(SQL通信区)的全局变量。sqlca包含告警和错误信息。如果在语句执行期间发生多个告警和错误,那么sqlca将只保存最后一个信息。在一个多线程的程序中,每一个线程会自动得到它的sqlca副本。 数据结构如下: struct { char sqlcaid[8]; long sqlabc; long sqlcode; struct { int sqlerrml; char sqlerrmc[SQLERRMC_LEN]; } sqlerrm; char sqlerrp[8]; long sqlerrd[6]; char sqlwarn[8]; char sqlstate[5]; } sqlca; 如果SQL语句没有发生错误,则sqlca.sqlcode为0,sqlca.sqlstate为"00000"。如果发生了告警或者错误,那么sqlca.sqlcode是负数并且sqlca.sqlstate不同于"00000"。SQLSTATE与SQLCODE的具体值请参见SQLSTATE与SQLCODE章节。 如果SQL语句正确执行,那么sqlca.sqlerrd[1]包含被处理行的OID,并且sqlca.sqlerrd[2]包含被处理或返回的行数。 在发生错误或告警时,sqlca.sqlerrm.sqlerrmc将包含描述该错误的字符串。sqlca.sqlerrm.sqlerrml包含存储在sqlca.sqlerrm.sqlerrmc中错误消息的长度(strlen()的结果)。注意:一些消息可能无法适应定长的sqlerrmc数组,它们将被截断。 在发生告警时,sqlca.sqlwarn[2]被设置为W。 sqlcaid、sqlabc、sqlerrp、sqlwarn以及sqlerrd的剩余元素目前未包含有用的信息。 示例如下: /* 整合WHENEVER和sqlca实现错误处理 */ EXEC SQL WHENEVER SQLERROR SQLCALL print_sqlca(); void print_sqlca() { fprintf(stderr, "==== sqlca ====\n"); fprintf(stderr, "sqlcode: %ld\n", sqlca.sqlcode); fprintf(stderr, "sqlerrm.sqlerrml: %d\n", sqlca.sqlerrm.sqlerrml); fprintf(stderr, "sqlerrm.sqlerrmc: %s\n", sqlca.sqlerrm.sqlerrmc); fprintf(stderr, "sqlerrd: %ld %ld %ld %ld %ld %ld\n", sqlca.sqlerrd[0],sqlca.sqlerrd[1],sqlca.sqlerrd[2], sqlca.sqlerrd[3],sqlca.sqlerrd[4],sqlca.sqlerrd[5]); fprintf(stderr, "sqlwarn: %d %d %d %d %d %d %d %d\n", sqlca.sqlwarn[0], sqlca.sqlwarn[1], sqlca.sqlwarn[2], sqlca.sqlwarn[3], sqlca.sqlwarn[4], sqlca.sqlwarn[5], sqlca.sqlwarn[6], sqlca.sqlwarn[7]); fprintf(stderr, "sqlstate: %5s\n", sqlca.sqlstate); fprintf(stderr, "===============\n"); } 输出结果形如(此处是一个拼写表名错误): ==== sqlca ==== sqlcode: -400 sqlerrm.sqlerrml: 49 sqlerrm.sqlerrmc: relation "pg_databasep" does not exist on line 38 sqlerrd: 0 0 0 0 0 0 sqlwarn: 0 0 0 0 0 0 0 0 sqlstate: 42P01 =============== 父主题: 错误处理
  • GLOBAL_PARALLEL_DECODE_THREAD_INFO GLOBAL_PARALLEL_DECODE_THREAD_INFO视图用于查看集群各主DN节点上的进行并行解码的线程信息,如表1所示。该视图需在CN上查询,在DN上查询报错。 表1 GLOBAL_PARALLEL_DECODE_THREAD_INFO字段 名称 类型 描述 node_name name 节点名称。 thread_id bigint 线程id。 slot_name text 复制槽名。 thread_type text 线程种类(共三种,sender代表发送线程,reader代表读取线程,decoder代表解码线程)。 seq_number integer 当前复制槽中同种线程的序号(从1开始)。 父主题: Utility
  • PG_TABLESPACE PG_TABLESPACE系统表存储表空间信息。 表1 PG_TABLESPACE字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 spcname name 表空间名称。 spcowner oid 表空间的所有者,通常是创建它的人。 spcacl aclitem[] 访问权限。具体请参见GRANT和REVOKE。 spcoptions text[] 表空间的选项。 spcmaxsize text 可使用的最大磁盘空间大小,单位Byte。 relative boolean 标识表空间指定的存储路径是否为相对路径。 t(true):表示是。 f(false):表示不是。 父主题: 其他系统表
  • 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 --插入内容。 gaussdb=# ALTER GLOBAL CONFIGURATION with(redis_is_ok = true); --查询。 gaussdb=# SELECT * FROM gs_global_config; name | value -----------------+------- buckets_len | 16384 undostoragetype | page redis_is_ok | true (3 rows) --修改内容。 gaussdb=# ALTER GLOBAL CONFIGURATION with(redis_is_ok = false); --查询。 gaussdb=# SELECT * FROM gs_global_config; name | value -----------------+------- buckets_len | 16384 undostoragetype | page redis_is_ok | false (3 rows) --删除内容。 gaussdb=# DROP GLOBAL CONFIGURATION redis_is_ok; --查询。 gaussdb=# SELECT * FROM gs_global_config; name | value -----------------+------- buckets_len | 16384 undostoragetype | page (2 rows)
  • LOCAL_REL_IOSTAT 获取当前节点中数据文件I/O状态的累计值,显示为所有数据文件I/O状态的总和,如表1所示。 表1 LOCAL_REL_IOSTAT字段 名称 类型 描述 phyrds bigint 读物理文件的数目。 phywrts bigint 写物理文件的数目。 phyblkrd bigint 读物理文件的块的数目。 phyblkwrt bigint 写物理文件的块的数目。 父主题: File
  • check_sync_standby 参数说明:打开备机检查开关,主备场景下配置了正确的synchronous_standby_names参数后,当同步备故障时,主机写业务直接报错写失败。该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。 取值范围:on/off on表示开启备机检查。 off表示关闭备机检查。 默认值:off 该参数不支持在job work和自治事务中同步,有可能导致检查不生效。 若指定用户或session中未设置备机检查,开启强同步提交模式下备机故障,执行一个表的写操作会导致另一个用户或session中的同一个表的查询hang,此时需要备机恢复或者手动terminate hang住的客户端。 不支持非写操作中触发写日志的场景中(vacuum analyze,gs_clean等)开启备机检查开关。若备机不满足同步备配置,则该场景会导致业务hang,需要手动terminate。
  • sync_config_strategy 参数说明:主机和备机、备机和级联备之间配置文件的同步策略。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:枚举类型 all_node: 主机配置为all_node时,表示允许主机向所有备机主动同步配置文件;备机配置为all_node时,表示允许当前备机向其主机发送同步请求,允许当前备机向其所有级联备主动同步配置文件;级联备配置为all_node时,表示允许当前级联备向其备机发送同步请求。 only_sync_node: 主机配置为only_sync_node时,表示仅允许主机向所有同步备机主动同步配置文件;备机配置为only_sync_node时,表示允许当前备机向其主机发送同步请求,不允许当前备机向其所有级联备主动同步配置文件;级联备配置为only_sync_node时,表示允许当前级联备向其备机发送同步请求。 none_node: 主机配置为none_node时,表示不允许主机向任何备机主动同步配置文件;备机配置为none_node时,表示不允许当前备机向其主机发送同步请求,不允许当前备机向其所有级联备主动同步配置文件;级联备配置为none_node时,表示不允许当前级联备向其备机发送同步请求。 默认值:all_node 注意:在低于503.0.0版本升级到503.0.0版本后配置了该参数,回滚后该参数将无法识别。请勿在升级503.0.0版本期间配置该参数。
  • enable_data_replicate 参数说明:当数据库在数据导入行存表时,主机与备机的数据同步方式可以进行选择。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示导入数据行存表时主备数据采用数据页的方式进行同步。当replication_type参数为1时,不允许设置为on,如果此时用guc工具设置成on,会强制改为off。 off表示导入数据行存表时主备数据采用日志(xLog)方式进行同步。 默认值:off
  • catchup2normal_wait_time 参数说明:单同步备机情况下,控制备机数据追赶(catchup)阻塞主机的最长时间。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,范围-1~10000,单位为毫秒。 -1表示主机阻塞直到备机数据追赶完成。 0表示备机数据追赶时始终不阻塞主机。 其余值表示备机数据追赶时阻塞主机的最长时间。例如,取值5000,表示当备机数据追赶完成时间还剩5s时,阻塞主机等待其完成。 默认值:-1
  • hadr_recovery_time_target 参数说明:在流式容灾模式下设置hadr_recovery_time_target能够让备数据库实例完成日志写入和回放。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~3600 (秒) 0是指不开启日志流控,1~3600是指备机能够在hadr_recovery_time_target时间内完成日志的写入和回放,可以保证主数据库实例与备数据库实例切换时能够在hadr_recovery_time_target秒完成日志写入和回放,保证备数据库实例能够快速升主。hadr_recovery_time_target设置时间过小会影响主机的性能,设置过大会失去流控效果。 默认值:60(金融版(数据计算型))
  • hadr_recovery_point_target 参数说明:在流式容灾模式下设置hadr_recovery_point_target能够让备数据库实例完成日志刷盘的rpo时间。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~3600 (秒) 0是指不开启日志流控,1~3600是指备机能够在hadr_recovery_point_target时间内完成日志的刷盘,可以保证主数据库实例与备数据库实例切换时日志差距能够在hadr_recovery_point_target秒内,保障备数据库实例升主日志量。hadr_recovery_point_target设置时间过小会影响主机的性能,设置过大会失去流控效果。 默认值:10(金融版(数据计算型))
  • vacuum_defer_cleanup_age 参数说明:指定VACUUM使用的事务数,VACUUM会延迟清除无效的行存表记录,延迟的事务个数通过vacuum_defer_cleanup_age进行设置。即VACUUM和VACUUM FULL操作不会立即清理刚刚被删除元组。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~1000000,值为0表示不延迟。 默认值:0
  • enable_stream_replication 参数说明:控制主备是否进行数据和日志同步。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 此参数属于性能测试参数,用于测试带有DN备机和不带DN备机的性能参数。关闭参数后,不能进行切换、故障等异常场景测试,否则会出现主备不一致的情况。 此参数属于受控参数,不建议正常业务场景下关闭此参数。 取值范围:布尔型 on表示打开主备同步。 off表示关闭主备同步。 默认值:on
  • 简介 对于隐式游标的操作,如定义、打开、取值及关闭操作,都由系统自动地完成,无需用户进行处理。用户只能通过隐式游标的相关属性,来完成相应的操作。在隐式游标的工作区中,所存放的数据是最新处理的一条SQL语句所包含的数据,与用户自定义的显式游标无关。 格式调用为: SQL% INSERT、UPDATE、DELETE和SELECT语句中不必明确定义游标。 兼容A模式下,GUC参数behavior_compat_options为compat_cursor时,隐式游标跨存储过程有效。 打开SMP相关GUC参数(设置GUC参数query_dop为大于1的值,plsql_beta_feature = 'enable_plsql_smp')后,游标中不涉及INSERT、UPDATE和DELETE的查询语句可以选择SMP执行。 隐式游标属性不受commit\rollback操作影响。
  • 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 --删除员工表hr.staffs中某部门的所有员工,如果该部门中已没有员工,则在部门表hr.department中删除该部门。 gaussdb=# CREATE OR REPLACE PROCEDURE proc_cursor3() AS DECLARE V_DEPTNO NUMBER(4) := 100; BEGIN DELETE FROM hr.staffs WHERE section_id = V_DEPTNO; --根据游标状态做进一步处理 IF SQL%NOTFOUND THEN DELETE FROM hr.department WHERE section_id = V_DEPTNO; END IF; END; / CREATE PROCEDURE gaussdb=# CALL proc_cursor3(); proc_cursor3 -------------- (1 row) --删除存储过程和临时表 gaussdb=# DROP PROCEDURE proc_cursor3; DROP PROCEDURE -- 如果需要SELECT隐式游标并发执行,需要打开以下GUC参数 gaussdb=# SET query_dop=4; SET gaussdb=# SET sql_beta_feature= 'enable_plsql_smp'; -- 选择员工表hr.staffs中工号为1的员工姓名 gaussdb=# CREATE OR REPLACE PROCEDURE prc_cursor_smp() AS name varchar(20); BEGIN SELECT first_name FROM hr.staffs WHERE staff_id = 1 INTO name; dbe_output.print_line('result is: '|| name); END; / CREATE PROCEDURE -- 执行存储过程 gaussdb=# CALL prc_cursor_smp(); result is: Tom prc_cursor_smp ---------------- (1 row)
  • PG_PLTEMPLATE PG_PLTEMPLATE系统表存储过程语言的“模板”信息。 表1 PG_PLTEMPLATE字段 名称 类型 描述 tmplname name 这个模板所应用的语言的名称。 tmpltrusted boolean 如果语言被认为是可信的,则为真。否则为假。 tmpldbacreate boolean 如果语言是由数据库所有者创建的,则为真。否则为假。 tmplhandler text 调用处理器函数的名称。 tmplinline text 匿名块处理器的名称,若没有则为NULL。 tmplvalidator text 校验函数的名称,如果没有则为NULL。 tmpllibrary text 实现语言的共享库的路径。 tmplacl aclitem[] 模板的访问权限(未使用)。 父主题: 其他系统表
共100000条