华为云用户手册

  • replconninfo5 参数说明:设置本端侦听和鉴权的第五个节点信息。数据库安装成功后自动配置,无需手动修改。 示例: replconninfo5 = "localhost=XXXX localport=XXXX localheartbeatport=XXXX localservice=XXXX remotehost=XXXX remoteport=XXXX remoteheartbeatport=XXXX remoteservice=XXXX" 参数类型:字符串 参数单位:无 取值范围:字符串。其中空字符串表示没有配置第五个节点信息。 默认值:"" 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:安装时会自动设置,不建议用户进行修改。 设置不当的风险与影响:错误的连接信息会导致数据库实例状态异常。
  • enable_wal_replication_compression 参数说明:在主DN和备DN间物理复制时设置启动xLog日志压缩功能。 参数类型:布尔型 参数单位:无 取值范围: on:表示打开日志压缩功能。 off:表示关闭日志压缩功能。 默认值:off 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:该参数仅作用于主DN和备DN间传输的一对walsender与walreceiver线程中,在主DN上配置。小xLog和时延敏感的场景下,不建议打开该参数。 设置不当的风险与影响:该参数开启后存在性能和资源的消耗,需合理配置wal_replication_compression_thread_settings、wal_replication_compression_settings参数。 性能影响:参见wal_replication_compression_settings参数详情。 不同资源场景下的配置:参见wal_replication_compression_thread_settings参数详情。 该参数有以下约束: 升级过程中不允许修改压缩算法; 不支持DCF; 暂不支持容灾数据库; 在小规格下(例如4U/8U)不建议打开该功能。
  • wal_replication_compression_thread_settings 参数说明:主备数据库的并行压缩线程数和单线程队列深度。前提是enable_wal_replication_compression要开启,此参数才能生效。 参数类型:字符串 参数单位:无 取值范围:以','分隔的两个整型组成的字符串,两个整型参数取值范围都为[1,16]。 默认值:'1,6' 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:该参数与walsender_max_send_size共同决定压缩线程内存占用,需合理配合使用,低性能规格机器建议设置较小值。 编号 CPU个数 内存(GB) 是否混合部署 walsender_max_send_size(MB) xlog压缩最大线程数 压缩buffer最大队列深度 wal_replication_compression_thread_settings 备注 1 4 - - 8 0 0 - 一般情况不推荐开xLog压缩。客户场景存在网络流量限制时,可结合硬件规格对该参数进行设置,开启xLog压缩来缓解流量压力。 2 8 - 是 8 0 0 - 3 8 64 否 8 1 1 1,1 4 16 128 是 8 2 2 2,2 5 16 128 否 8 2 2 2,2 6 32 256 是 8 4 2~4(性能测试后根据性能最优来确认推荐值) 4,2~4,4 7 32 256 否 8 4 2~4(性能测试后根据性能最优来确认推荐值) 4,2~4,4 8 64 512 是 8 8 2~4(性能测试后根据性能最优来确认推荐值) 8,2~8,4 9 64 512 否 8 8 2~4(性能测试后根据性能最优来确认推荐值) 8,2~8,4 10 96 768 - 8 12 2~4(性能测试后根据性能最优来确认推荐值) 12,2~12,4 设置不当的风险与影响:如果该参数设置较大,则会占用较多动态内存,导致进程无法启动或者业务申请内存失败等问题。
  • wal_replication_compression_settings 参数说明:主备数据库xLog压缩采用的算法规则。 参数类型:字符串。参数值由压缩算法和压缩参数组成,格式为'string,int',如'zstd,5'。其他格式为错误格式,会导致设置失败。 参数单位:无 取值范围:第一个参数(压缩算法)可选lz4或zstd,其他值为无效值。 若第一个参数为lz4,则第二个参数为加速因子,取值范围为[1,300]。 若第一个参数为zstd,则第二个参数为压缩等级,取值范围为[1,15]。 默认值:'lz4,3' 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议: lz4算法加速因子越大,则压缩率越低,性能越好。 zstd压缩等级越大,则压缩率越高,性能越差。 提高压缩率会减小网络带宽,但是TPS性能也会相应下降,建议设置为满足带宽限制的最小压缩率。 两种算法相较而言,zstd算法压缩率更高,性能下降更多;lz4算法性能下降较少,压缩率较低。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • enable_wal_shipping_compression 参数说明:在流式容灾模式下,开启跨数据库实例日志压缩功能。 该参数仅作用于流式容灾中跨数据库实例传输的一对walsender与walreceiver中,在主数据库实例上配置。 参数类型:布尔型 参数单位:无 取值范围: on:表示打开流式容灾跨数据库实例日志压缩。 off:表示关闭流式容灾跨数据库实例日志压缩。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:容灾场景下用户可手动开启。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • max_replication_slots 参数说明:主机端的日志复制slot最大数量。 参数类型:整型 参数单位:无 取值范围:0 ~ 1024(建议取值范围:8 ~ 100)。 默认值:20 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议: 当使用双机复制、备份恢复、逻辑解码时,该参数值建议设为:当前物理流复制槽数+备份槽数+所需的逻辑复制槽数。如果实际设置值比上述建议值要小,那么可能造成这些功能不可用或异常。 物理流复制槽提供了一种自动化的方法来确保主节点在所有备节点收到xlog之前,xlog不会被移除。因此物理流复制槽是用于支撑主备HA。数据库所需要的物理流复制槽数为,备节点数量与主节点的比例。例如,假设数据库高可用方案为1主、1备,则所需物理流复制槽数为1。假设数据库的高可用方案为1主3备,则所需物理流复制槽数为3。 备份槽:记录备份执行过程中的一些复制信息,全量备份和增量备份各自对应单独的备份槽,共2个。 关于逻辑复制槽数,请按如下规则考虑: 一个逻辑复制槽只能解码一个数据库的修改,如果需要解码多个数据库,则需要创建多个逻辑复制槽。 如果需要多路逻辑复制同步给多个目标数据库,在源端数据库需要创建多个逻辑复制槽,每个逻辑复制槽对应一条逻辑复制链路。 同一实例上,最多支持同时开启20个逻辑复制槽进行解码。 设置不当的风险与影响:设置过小,会导致备机无法连接,或逻辑解码、备份归档功能等无法启用;设置过大,会一定程度影响性能。
  • wal_keep_segments 参数说明:Xlog日志文件的数量,设置“pg_xlog”目录下保留日志文件的最小数量。备机通过获取主机的Xlog日志进行流复制。 参数类型:整型 参数单位:无 取值范围:2 ~ 2147483647 默认值:128 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议: 当服务器开启日志归档或者从检查点恢复时,保留的日志文件数量可能大于wal_keep_segments设定的值。 当双机为异步传输时,以COPY方式连续导入4G以上数据需要增大wal_keep_segments配置。以T6000单板为例,如果导入数据量为50G,建议调整参数为1000。可以在导入完成并且日志同步正常后,动态恢复此参数设置。 若synchronous_commit级别小于LOCAL_FLUSH,重建备机时,建议调大该参数为1000,避免重建过程中,主机日志回收导致重建失败。 设置不当的风险与影响:如果设置过大,可能会导致pg_xlog文件夹占用过大的磁盘空间。如果设置过小,则在备机请求事务日志时,此事务日志可能已经被产生的新事务日志覆盖,导致请求失败,主备关系断开。
  • wal_sender_timeout 参数说明:本节点等待事务日志接收端接收日志的最大等待时间。该参数可在PDB级别设置。 如果主机数据较大,重建备机数据库时需要增大此参数的值,主机数据在500GB时,此参数的参考值为600s。 此值不能大于wal_receiver_timeout或数据库重建时的超时参数。 参数类型:整型 参数单位:ms(毫秒) 取值范围:0 ~ 2147483647 默认值:6000。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:设置过小,会对网络波动、闪断越敏感,可能会导致连接主备连接异常。设置过大,导致对异常的响应更缓慢。
  • enable_slot_log 参数说明:是否开启复制槽主备同步特性,仅涉及归档槽和备份槽。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启复制槽主备同步特性。 off:表示不开启复制槽主备同步特性。 默认值:on。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:主机上创建归档/备份槽建议开启,备机创建归档/备份槽建议关闭。 设置不当的风险与影响:设置不当时,主备间复制同步除外的备份、归档、build等功能会受到影响。
  • max_wal_senders 参数说明:指定Xlog日志发送线程的并发连接最大数量,必须小于max_connections。 设置max_wal_senders的前提:wal_level必须设置为archive、hot_standby或者logical以允许备机的连接。 参数类型:整型 参数单位:无 取值范围:0 ~ 1024(建议取值范围:8 ~ 100)。 默认值:20 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议: 只有当使用单DN实例无主备场景下,该参数才可以设置为0。 当使用双机复制、备份恢复、逻辑解码时,该参数值建议设为:当前备机个数+备份连接数+所需的逻辑复制连接数。 设置不当的风险与影响:如果实际设置值小于建议取值范围,可能造成这些功能不可用或异常。
  • WAL日志是什么,日志文件路径是什么? 答:预写式日志WAL(Write Ahead Log,也称为xLog)是指如果要修改数据文件,必须是在这些修改操作已经记录到日志文件之后才能进行修改,即在描述这些变化的日志记录刷新到永久存储器之后,又称为REDO日志。 在数据库异常损坏导致系统崩溃时,可以利用WAL日志进行恢复操作。路径为数据目录/pg_xlog。以一个数据库节点为例,在“/gaussdb/data/data_dn/pg_xlog”目录下,其中“/gaussdb/data/data_dn”代表数据库节点的数据目录。 父主题: FAQ
  • GS_WORKLOAD_RULE GS_WORKLOAD_RULE系统表存储与SQL限流规则相关的信息。该系统表没有权限限制,所有用户可查询。 表1 GS_WORKLOAD_RULE字段 名称 类型 描述 rule_id bigint 限流规则标识列,系统自动生成。 rule_name name 限流规则的名称,用于检索限流规则,不保证唯一性,可以为NULL。 databases name[] 限流规则作用的数据库列表,为NULL表示所有库生效。 max_workload bigint 限制规则设置的最大并发数。 is_valid boolean 限流规则是否生效,超时的限流规则会设为false。 start_time timestamp with time zone 限流规则开始的时间,为NULL表示从现在开始生效。 end_time timestamp with time zone 限流规则结束的时间,为NULL表示一直生效。 rule_type text 限流规则类型,当前仅支持:“sqlid”、“select”、“insert”、“update”、“delete”、“merge”、“resource”,其他的为非法值。 option_val text[] 限流规则的参数值,包括:sqlid,关键字列表,资源限制情况。 详细请参见gs_add_workload_rule(rule_type, rule_name, databases, start_time, end_time, max_workload, option_val)接口说明。 node_names text[] 预留字段,限流规则生效的节点名称列表,当前不生效。 user_names text[] 预留字段,限流规则生效的用户名称列表,当前不生效。 父主题: 其他系统表
  • GS_WLM_REBUILD_USER_RESOURCE_POOL 该视图用于在当前连接节点上重建内存中用户的资源池信息,无输出。只在资源池信息缺失或错乱时用作补救措施。查询该视图需要sysadmin权限。内核多租模式下禁用。 表1 GS_WLM_REBUILD_USER_RESOURCE_POOL字段 名称 类型 描述 gs_wlm_rebuild_user_resource_pool boolean 重建内存中用户资源池信息结果。t为成功,f为失败。 父主题: 负载管理
  • GLOBAL_STATIO_ALL_TABLES GLOBAL_STATIO_ALL_TABLES视图显示数据库内各节点每张表(包括TOAST表)的I/O状态信息,如表1所示。 表1 GLOBAL_STATIO_ALL_TABLES字段 名称 类型 描述 node_name name 节点名称。 relid oid 表OID。 schemaname name 该表模式名。 relname name 表名。 heap_blks_read bigint 从该表中读取的磁盘块数。 heap_blks_hit bigint 此表缓存命中数。 idx_blks_read bigint 从表中所有索引读取的磁盘块数。 idx_blks_hit bigint 表中所有索引命中缓存数。 toast_blks_read bigint 此表的TOAST表读取的磁盘块数(如果存在)。 toast_blks_hit bigint 此表的TOAST表命中缓冲区数(如果存在)。 tidx_blks_read bigint 此表的TOAST表索引读取的磁盘块数(如果存在)。 tidx_blks_hit bigint 此表的TOAST表索引命中缓冲区数(如果存在)。 last_updated timestamp with time zone 视图中该表监控数据最后一次更新的时间。 父主题: Cache/IO
  • 示例 --创建adt1策略。 gaussdb=# CREATE AUDIT POLICY adt1 PRIVILEGES CREATE; CREATE AUDIT POLICY --删除审计策略adt1。 gaussdb=# DROP AUDIT POLICY adt1; DROP AUDIT POLICY --删除一个不存在的审计策略adt0,提示删除失败,该审计策略不存在。 gaussdb=# DROP AUDIT POLICY adt0; ERROR: adt0 policy does not exist, drop failed
  • 背景信息 在SQL语言中,每个数据都与一个决定其行为和用法的数据类型相关。 GaussDB 提供一个可扩展的数据类型系统,该系统比其它SQL实现更具通用性和灵活性。因此,GaussDB中大多数类型转换是由通用规则来管理的,这种做法允许使用混合类型的表达式。 GaussDB扫描/分析器只将词法元素分解成五个基本种类:整数、浮点数、字符串、标识符和关键字。大多数非数字类型首先表现为字符串。SQL语言的定义允许将常量字符串声明为具体的类型。例如: 1 2 3 4 5 gaussdb=# SELECT text 'Origin' AS "label", point '(0,0)' AS "value"; label | value --------+------- Origin | (0,0) (1 row) 示例中有两个文本常量,类型分别为text和point。如果没有为字符串文本声明类型,则该文本首先被定义成一个unknown类型。 在GaussDB分析器里,有四种基本的SQL结构需要独立的类型转换规则: 函数调用 多数SQL类型系统是建筑在一套丰富的函数上的。函数调用可以有一个或多个参数。因为SQL允许函数重载,所以不能通过函数名直接找到要调用的函数,分析器必须根据函数提供的参数类型选择正确的函数。 操作符 SQL允许在表达式上使用前缀或后缀(单目)操作符,也允许表达式内部使用双目操作符(两个参数)。像函数一样,操作符也可以被重载,因此操作符的选择也和函数一样取决于参数类型。 值存储 INSERT和UPDATE语句将表达式结果存入表中。语句中的表达式类型必须和目标字段的类型一致或者可以转换为一致。 UNION,CASE和相关构造 因为联合SELECT语句中的所有查询结果必须在一列里显示出来,所以每个SELECT子句中的元素类型必须相互匹配并转换成一个统一类型。类似地,一个CASE构造的结果表达式必须转换成统一的类型,这样整个case表达式会有一个统一的输出类型。同样的要求也存在于ARRAY构造以及GREATEST和LEAST函数中。 系统表pg_cast存储了有关数据类型之间的转换关系以及如何执行这些转换的信息。详细信息请参见PG_CAST。 语义分析阶段会决定表达式的返回值类型并选择适当的转换行为。数据类型的基本类型分类,包括:Boolean,numeric,string,bitstring,datetime,timespan,geometric和network。每种类型都有一种或多种首选类型用于解决类型选择的问题。根据首选类型和可用的隐含转换,就可能保证有歧义的表达式(那些有多个候选解析方案的)得到有效的方式解决。 所有类型转换规则都是建立在下面几个基本原则上的: 隐含转换绝不能有奇怪的或不可预见的输出。 如果一个查询不需要隐含的类型转换,分析器和执行器不应该进行更多的额外操作。这就是说,任何一个类型匹配、格式清晰的查询不应该在分析器里耗费更多的时间,也不应该向查询中引入任何不必要的隐含类型转换调用。 另外,如果一个查询在调用某个函数时需要进行隐式转换,当用户定义了一个有正确参数的函数后,解释器应该选择使用新函数。 XML类型数据不支持隐式类型转换,包括字符串和XML类型之间的隐式转换。
  • 自治事务 自治事务(Autonomous Transaction),在主事务执行过程中新启的独立的事务。自治事务的提交和回滚不会影响主事务已提交的数据,同时自治事务也不受主事务影响。 自治事务在存储过程、函数、匿名块和package中定义,用PRAGMA AUTONOMOUS_TRANSACTION关键字来声明。 规格约束 存储过程支持自治事务 匿名块支持自治事务 函数支持自治事务 Package支持自治事务
  • PG_USER PG_USER视图显示数据库用户的信息,默认只有初始化用户和具有sysadmin属性的用户可以查看,其余用户需要赋权后才可以查看。 表1 PG_USER字段 名称 类型 描述 usename name 用户名。 usesysid oid 用户的ID。 usecreatedb boolean 用户是否可以创建数据库。 t(true):表示是。 f(false):表示否。 usesuper boolean 用户是否是拥有最高权限的初始系统管理员。 t(true):表示是。 f(false):表示否。 usecatupd boolean 用户是否可以直接更新系统表。只有usesysid=10的初始系统管理员拥有此权限。其他用户无法获得此权限。 t(true):表示是。 f(false):表示否。 userepl boolean 用户是否可以复制数据流。 t(true):表示是。 f(false):表示否。 passwd text 密文存储后的用户密码,始终为********。 valbegin timestamp with time zone 账户的有效开始时间。如果没有设置有效开始时间,则为NULL。 valuntil timestamp with time zone 账户的有效结束时间。如果没有设置有效结束时间,则为NULL。 respool name 用户所在的资源池。 parent oid 父用户OID。 spacelimit text 永久表的存储空间限额,单位KB。 useconfig text[] 运行时配置项的默认值。参考PG_DB_ROLE_SETTING.setconfig。 nodegroup name 用户关联的逻辑数据库名称,如果该用户没有管理逻辑数据库,则该字段为空。 tempspacelimit text 临时表的存储空间限额,单位KB。 spillspacelimit text 算子的落盘空间限额,单位KB。 usemonitoradmin boolean 用户是否是监控管理员。 t(true):表示是。 f(false):表示否。 useoperatoradmin boolean 用户是否是运维管理员。 t(true):表示是。 f(false):表示否。 usepolicyadmin boolean 用户是否是安全策略管理员。 t(true):表示是。 f(false):表示否。 父主题: 用户和权限管理
  • DB4AI.MANAGE_SNAPSHOT_INTERNAL MANAGE_SNAPSHOT_INTERNAL是DB4AI.PUBLISH_SNAPSHOT和DB4AI.ARCHIVE_SNAPSHOT函数的内置执行函数,如表1所示。函数存在信息校验,无法直接调用。 表1 DB4AI.MANAGE_SNAPSHOT_INTERNAL入参和返回值列表 参数 类型 描述 i_schema IN NAME 快照存储的模式名字。 i_name IN NAME 快照名称。 publish IN BOOLEAN 是否是发布状态。 res OUT db4ai.snapshot_name 结果。 父主题: DB4AI Schema
  • 参数 表1 SQLFreeHandle参数 关键字 参数说明 HandleType SQLFreeHandle要释放的句柄类型。必须为下列值之一: SQL_HANDLE_ENV SQL_HANDLE_DBC SQL_HANDLE_STMT SQL_HANDLE_DESC 如果HandleType不是其中之一,SQLFreeHandle返回SQL_INVALID_HANDLE。 Handle 要释放的句柄。
  • 示例 --创建并切换至测试数据库。 gaussdb=# CREATE DATABASE test_event WITH DBCOMPATIBILITY = 'b'; test_event=# \c test_event --创建SCHEMA。 test_event=# CREATE SCHEMA test; --创建表。 test_event=# CREATE TABLE t_ev(num int); --创建一个默认当前SCHEMA的定时任务。 test_event=# CREATE EVENT IF NOT EXISTS event_e2 ON SCHEDULE EVERY 1 minute DO insert into t_ev values(1); --创建一个SCHEMA为test的定时任务。 test_event=# CREATE EVENT IF NOT EXISTS test.event_e3 ON SCHEDULE EVERY 1 minute DO insert into t_ev values(2); --查看所有定时任务。 test_event=# SHOW EVENTS; job_name | schema_name | log_user | priv_user | job_status | start_date | interval | end_date | enable | failure_msg ----------+-------------+----------+-----------+------------+----------------------------+----------------------+---------------------+--------+------------------------------- event_e2 | public | omm | omm | s | 2023-11-28 10:13:48.675215 | interval '1' minute | 3999-12-31 16:00:00 | t | (1 rows) --查看SCHEMA为test的定时任务。 test_event=# SHOW EVENTS FROM test; job_name | schema_name | log_user | priv_user | job_status | start_date | interval | end_date | enable | failure_msg ----------+-------------+----------+-----------+------------+----------------------------+----------------------+---------------------+--------+--------------------------------event_e3 | test | omm | omm | s | 2023-11-28 10:29:42.327827 | interval '1' minute | 3999-12-31 16:00:00 | t | (1 row) --删除定时任务。 test_event=# DROP EVENT event_e2; test_event=# DROP EVENT test.event_e3; --删除表。 test_event=# DROP TABLE t_ev; --删除SCHEMA。 test_event=# DROP SCHEMA test; --切换回初始数据库,并删除测试数据库。请用真实的数据库名替换postgres。 test_event=# \c postgres gaussdb=# DROP DATABASE test_event;
  • STATIO_USER_INDEXES STATIO_USER_INDEXES视图显示当前节点命名空间中所有用户关系表索引的I/O状态信息,如表1所示。 表1 STATIO_USER_INDEXES字段 名称 类型 描述 relid oid 索引的表的OID。 indexrelid oid 该索引的OID。 schemaname name 该索引的模式名。 relname name 该索引的表名。 indexrelname name 索引名称。 idx_blks_read bigint 从索引中读取的磁盘块数。 idx_blks_hit bigint 索引命中缓存数。 last_updated timestamp with time zone 视图中该对象监控数据最后一次更新的时间。 父主题: Cache/IO
  • 注意事项 所有该角色在当前数据库里和共享对象(数据库,表空间) 上的所有对象上的权限都将被撤销。 DROP OWNED常常被用来为移除一个或者多个角色做准备。因为DROP OWNED只影响当前数据库中的对象,通常需要在包含将被移除角色所拥有的对象的每一个数据库中都执行这个命令。 使用CASCADE选项可能导致这个命令递归去删除由其他用户所拥有的对象。 角色所拥有的数据库、表空间将不会被移除。 角色所拥有的私有DATABASE LINK连接需要添加CASCADE才可删除。
  • DB_TRIGGERS DB_TRIGGERS视图显示当前用户能访问到的触发器的信息。该视图同时存在于PG_CATA LOG 和SYS Schema下。 表1 DB_TRIGGERS字段 名称 类型 描述 trigger_name character varying(64) 触发器名称。 table_name character varying(64) 关系表名称。 table_owner character varying(64) 角色名称。 status character varying(64) 触发器的触发状态: O:触发器在“origin”和“local”模式下触发。 D:触发器被禁用。 R:触发器在“replica”模式下触发。 A:触发器始终触发。 父主题: 其他系统视图
  • V$NLS_PA RAM ETERS V$NLS_PARAMETERS视图显示数据库当前配置的(National Language Support)NLS参数和参数的值。所有用户都可以访问,该视图同时存在于PG_CATALOG和SYS Schema下。 表1 V$NLS_PARAMETERS字段 名称 类型 描述 parameter character varying(64) NLS(National Language Support)参数名。 value character varying(64) NLS(National Language Support)参数的值。 con_id numeric 暂不支持,值为0。 父主题: 其他系统视图
  • 原型 PGresult* PQexecPreparedBatchEx(PGconn* conn, const char* stmtName, int nParams, int nBatchCount, const char* const* paramValues, const int* paramLengths, const int* paramFormats, int resultFormat, PQStmtAttr attr, int allowedErrorsCount);
  • 参数 表1 PQexecPreparedBatchEx参数 关键字 参数说明 conn 连接句柄。 stmtName prepared 语句名字。 nParams 动态绑定参数的字段数。 nBatchCount 批量绑定的行数。 paramValues 绑定参数值。 paramLengths 参数值的数据长度。 须知: 下列情况中,参数长度强制使用paramLengths中对应的值: 参数格式为二进制。 参数格式为文本且连接参数force_no_truncation的值为1。 此时paramLengths不允许为空,并且参数长度的正确性须由调用者自行保证。 paramFormats 参数的格式(文本或二进制)。 resultFormat 结果的格式(文本或二进制)。 attr 此次批量执行属性,是否使用批量错误跳过模式。取值范围:STMT_DEFAULT , STMT_BATCH_ERRORS。 allowedErrorsCount 使用批量错误跳过模式时,允许的最大错误数。
  • GS_MASKING_POLICY_ACTIONS GS_MASKING_POLICY_ACTIONS系统表记录动态数据脱敏策略中相应的脱敏策略包含的脱敏行为,一个脱敏策略对应着该表的一行或多行记录。需要有系统管理员或安全策略管理员权限才可以访问此系统表。 表1 GS_MASKING_POLICY_ACTIONS表字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 actiontype name 脱敏函数,标识脱敏策略使用的脱敏函数。 actparams name 向脱敏函数中传递的参数信息。 actlabelname name 被脱敏的label名称。 policyoid oid 该条记录所属的脱敏策略oid,对应GS_MASKING_POLICY中的oid。 actmodifydate timestamp without time zone 该条记录创建或修改的最新时间戳。 父主题: 动态脱敏
  • GS_DB_PRIVILEGES GS_DB_PRIVILEGES系统视图记录ANY权限的授予情况,每条记录对应一条授权信息。 表1 GS_DB_PRIVILEGES字段 名称 类型 描述 rolename name 用户名。 privilege_type text 用户拥有的ANY权限,取值参考表1。 admin_option text 是否具有privilege_type列记录的ANY权限的再授权权限。 yes:具有。 no:不具有。 父主题: 用户和权限管理
  • 注意事项 PQprepare创建一个为PQexecPrepared执行用的预备语句,本特性支持命令的重复执行,不需要每次都进行解析和规划。PQprepare仅在协议3.0及以后的连接中支持,使用协议2.0时,PQprepare将失败。 该函数从查询字符串创建一个名为stmtName的预备语句,该查询字符串必须包含一个SQL命令。stmtName可以是""来创建一个未命名的语句,在这种情况下,任何预先存在的未命名的语句都将被自动替换,否则,如果在当前会话中已经定义了语句名称,那么这就是一个错误。如果使用了任何参数,那么在查询中将它们称为$1,$2等。nParams是在paramTypes[]数组中预先指定类型的参数的数量。(当nParams为0时,数组指针可以为NULL),paramTypes[]通过OID指定要分配给参数符号的数据类型。如果paramTypes为NULL,或者数组中的任何特定元素为零,服务器将按照对非类型化字面字符串的相同方式为参数符号分配数据类型。另外,查询可以使用数字高于nParams的参数符号,还将推断这些符号的数据类型。 通过执行SQLPREPARE语句,还可以创建与PQexecPrepared一起使用的预备语句。此外,虽然没有用于删除预备语句的libpq函数,但是SQL DEALLOCATE语句可用于此目的。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全