华为云用户手册

  • 负载均衡场景 当应用程序有大并发场景时可开启负载均衡: 负载均衡即为将并发连接随机分发到所有CN上,避免单个CN负载过大,达到提高性能的目的。 配置参数AutoBalance=1,开启负载均衡功能。 参数RefreshCNListTime=5可以选择性配置,默认刷新时间为10s。 参数Priority=1可以选择性配置,即为并发连接优先发送到配置文件中配置的CN上,当配置的CN全部不可连接时,连接才会被分发到剩余CN上。 示例场景: 集群环境有6个CN,CN1、CN2、CN3、CN4、CN5和CN6;配置文件配置4个CN,为CN1、CN2、CN3和CN4。 odbc.ini配置文件示例: [gaussdb] Driver=GaussMPP Servername=10.145.130.26,10.145.130.27,10.145.130.28,10.145.130.29(数据库Server IP) Database=db1 #数据库名 Username=omm #数据库用户名 Password= #数据库用户密码 Port=8000 #数据库侦听端口 Sslmode=allow AutoBalance=1 RefreshCNListTime=3 Priority=1 当配置文件和集群环境如示例时,并发连接会随机、平均发送到CN1、CN2、CN3和CN4上,连接数均衡。当CN1、CN2、CN3和CN4全部不可用时,并发连接会随机、平均发送到CN5和CN6上。如果此时CN1、CN2、CN3和CN4中有CN重新可用时,连接则不会再发送到CN5和CN6上,而是重新发送到重新可用的CN上。
  • 日志诊断场景 ODBC日志分为unixODBC驱动管理器日志和gsqlODBC驱动端日志。前者可以用于追溯应用程序API的执行成功与否,后者是底层实现过程中的一些DFX日志,用来帮助定位问题。 unixODBC日志需要在odbcinst.ini文件中配置: 1 2 3 4 5 6 7 [ODBC] Trace=Yes TraceFile=/path/to/odbctrace.log [GaussMPP] Driver64=/usr/local/lib/gsqlodbcw.so setup=/usr/local/lib/gsqlodbcw.so gsqlODBC日志只需要在odbc.ini加上如下内容: [gaussdb] Driver=GaussMPP Servername=10.10.0.13 #数据库Server IP ... Debug=1 #打开驱动端debug日志 unixODBC日志将会生成在TraceFile配置的路径下,gsqlODBC会在系统/tmp/下生成mylog_xxx.log。
  • GS_LIBCOMM_MEMORY_INFO 记录当前libcomm通信库内部内存使用的基础配置信息。查询该视图需要PUBLIC权限。 表1 GS_LIBCOMM_MEMORY_INFO字段 名称 类型 描述 node_name text DN实例名。 current_used_memory bigint libcomm通信库使用内存,单位为字节(byte)。 current_data_item_num bigint libcomm无锁队列数据块个数。 init_mailbox_memory bigint libcomm初始化mailbox使用的内存,单位为字节(byte)。 max_datanode bigint libcomm通信库支持的最大DN个数。 max_stream bigint libcomm单个TCP连接支持的最大数据流个数。 max_quota_size bigint libcomm逻辑连接的buffer总大小,单位为字节(byte)。 max_usable_memory bigint libcomm通信库缓存最大可使用内存,单位为字节(byte)。 max_memory_pool bigint libcomm通信库在每个DN上可以使用的内存资源池总大小,单位为字节(byte)。 父主题: 通信
  • opfusion_debug_mode 参数说明:用于调试简单查询是否进行查询优化。设置成log级别可以在数据库节点的执行计划中看到没有查询优化的具体原因。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:枚举类型 off表示不打开该功能。 log表示打开该功能,可以在数据库节点的执行计划中看到没有查询优化的具体原因。 提供在log中显示语句没有查询优化的具体原因,需要将参数设置成log级别,log_min_messages设置成debug4级别,logging_module设置'on(OPFUSION)',注意log内容可能会比较多,尽可能在调优期间执行少量作业使用。 默认值:off
  • logging_module 参数说明:用于设置或者显示模块日志在服务端的可输出性。该参数属于会话级参数,不建议通过gs_guc工具来设置。 参数类型:字符串 参数单位:无 默认值:空 取值范围:模块日志在服务端输出,其他模块日志在服务端不输出,可由SHOW logging_module查看: 1 ALL,on(),off(COMMAND,DFS,GUC,GSCLEAN,HDFS,ORC,SLRU,MEM_CTL,AUTOVAC,CACHE,ADIO,SSL,GDS,TBLSPC,WLM,OBS,INDEX,EXECUTOR,OPFUSION,GPC,GSC,VEC_EXECUTOR,STREAM,LLVM,OPT,OPT_REWRITE,OPT_JOIN,OPT_AGG,OPT_CHOICE,OPT_SUBPLAN,OPT_SETOP,OPT_SKEW,OPT_PLANNER,OPT_STAT_EXT,SPM,SPM_KEY_FLOW,UDF,COOP_ANALYZE,WLMCP,ACCELERATE,PLANHINT,PARQUET,PGSTAT,CARBONDATA,SNAPSHOT,XACT,HANDLE,CLOG,EC,REMOTE,CN_RETRY,PLSQL,TEXTSEARCH,SEQ,REDO,FUNCTION,PARSER,INSTR,WDR_SNAPSHOT,WDR_REPORT,ASP_REPORT,INCRE_CKPT,INCRE_BG_WRITER,DBL_WRT,RTO_RPO,HEARTBEAT,COMM_IPC,COMM_PARAM,TIMESERIES,SCHEMA,GTT,SEGMENT_PAGE,LIGHTPROXY,HOTKEY,THREAD_POOL,OPT_AI,WALRECEIVER,USTORE,UPAGE,UBTREE,UNDO,TIMECAPSULE,GEN_COL,DCF,AI4DB,DB4AI,ABO,MOD_ABOFEEDBACK,PLDEBUGGER,ADVISOR,SEC,SEC_FE,SEC_LEGER,SEC_POLICY,SEC_SDD,SEC_TDE,COMM_FRAMEWORK,COMM_PROXY,COMM_POOLER,COMM_STATUS,VACUUM,JOB,SPI,NEST_COMPILE,RESOWNER,GSSTACK,LOGICAL_DECODE,GPRC,DISASTER_READ,STANDBY_READ,REPSYNC,SQLPATCH,PARTITION,UBT_NEWPAGE,GPI,GS_DEPENDENCY,LWLOCK,LOCK,UNIQUE_SQL,GLC,SRF,DBLINK,BARRIER_CREATOR,EXRTO_PAGE_P,SEQ_TUP_P,BT_TUP_P,DISPATCH_VERIFY,HBKT,DBE_STATS,DBE_XMLGEN,GS_ILM,GSPERF,EXEC_REMOTE,UBTREE_PARA,BTREE_PARA,ANTI_CACHE,ANTI_RECYCLER,VERIFYLOG,GS_REPAIR,AUTHID,CCINDEX) 当前版本CN_RETRY不生效。 设置方式:该参数属于USERSET类型参数,设置请参考表1中对应设置的方法进行设置。 设置方法:首先,可以通过SHOW logging_module来查看哪些模块是支持可控制的。例如,查询输出结果为: 1 2 3 4 5 gaussdb=# show logging_module; logging_module -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ALL,on(),off(COMMAND,DFS,GUC,GSCLEAN,HDFS,ORC,SLRU,MEM_CTL,AUTOVAC,CACHE,ADIO,SSL,GDS,TBLSPC,WLM,OBS,INDEX,EXECUTOR,OPFUSION,GPC,GSC,VEC_EXECUTOR,STREAM,LLVM,OPT,OPT_REWRITE,OPT_JOIN,OPT_AGG,OPT_CHOICE,OPT_SUBPLAN,OPT_SETOP,OPT_SKEW,OPT_PLANNER,OPT_STAT_EXT,SPM,SPM_KEY_FLOW,UDF,COOP_ANALYZE,WLMCP,ACCELERATE,PLANHINT,PARQUET,PGSTAT,CARBONDATA,SNAPSHOT,XACT,HANDLE,CLOG,EC,REMOTE,CN_RETRY,PLSQL,TEXTSEARCH,SEQ,REDO,FUNCTION,PARSER,INSTR,WDR_SNAPSHOT,WDR_REPORT,ASP_REPORT,INCRE_CKPT,INCRE_BG_WRITER,DBL_WRT,RTO_RPO,HEARTBEAT,COMM_IPC,COMM_PARAM,TIMESERIES,SCHEMA,GTT,SEGMENT_PAGE,LIGHTPROXY,HOTKEY,THREAD_POOL,OPT_AI,WALRECEIVER,USTORE,UPAGE,UBTREE,UNDO,TIMECAPSULE,GEN_COL,DCF,AI4DB,DB4AI,ABO,MOD_ABOFEEDBACK,PLDEBUGGER,ADVISOR,SEC,SEC_FE,SEC_LEGER,SEC_POLICY,SEC_SDD,SEC_TDE,COMM_FRAMEWORK,COMM_PROXY,COMM_POOLER,COMM_STATUS,VACUUM,JOB,SPI,NEST_COMPILE,RESOWNER,GSSTACK,LOGICAL_DECODE,GPRC,DISASTER_READ,STANDBY_READ,REPSYNC,SQLPATCH,PARTITION,UBT_NEWPAGE,GPI,GS_DEPENDENCY,LWLOCK,LOCK,UNIQUE_SQL,GLC,SRF,DBLINK,BARRIER_CREATOR,EXRTO_PAGE_P,SEQ_TUP_P,BT_TUP_P,DISPATCH_VERIFY,HBKT,DBE_STATS,DBE_XMLGEN,GS_ILM,GSPERF,EXEC_REMOTE,UBTREE_PARA,BTREE_PARA,ANTI_CACHE,ANTI_RECYCLER,VERIFYLOG,GS_REPAIR,AUTHID,CCINDEX) (1 row) 支持可控制的模块使用大写来标识,特殊标识ALL用于对所有模块日志进行设置。可以使用on/off来控制模块日志的输出。设置SSL模块日志为可输出,使用如下命令: 1 2 3 4 5 6 gaussdb=# set logging_module='on(SSL)'; SET gaussdb=# show logging_module; logging_module ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ALL,on(SSL),off(COMMAND,DFS,GUC,GSCLEAN,HDFS,ORC,SLRU,MEM_CTL,AUTOVAC,CACHE,ADIO,SSL,GDS,TBLSPC,WLM,OBS,INDEX,EXECUTOR,OPFUSION,GPC,GSC,VEC_EXECUTOR,STREAM,LLVM,OPT,OPT_REWRITE,OPT_JOIN,OPT_AGG,OPT_CHOICE,OPT_SUBPLAN,OPT_SETOP,OPT_SKEW,OPT_PLANNER,OPT_STAT_EXT,SPM,SPM_KEY_FLOW,UDF,COOP_ANALYZE,WLMCP,ACCELERATE,PLANHINT,PARQUET,PGSTAT,CARBONDATA,SNAPSHOT,XACT,HANDLE,CLOG,EC,REMOTE,CN_RETRY,PLSQL,TEXTSEARCH,SEQ,REDO,FUNCTION,PARSER,INSTR,WDR_SNAPSHOT,WDR_REPORT,ASP_REPORT,INCRE_CKPT,INCRE_BG_WRITER,DBL_WRT,RTO_RPO,HEARTBEAT,COMM_IPC,COMM_PARAM,TIMESERIES,SCHEMA,GTT,SEGMENT_PAGE,LIGHTPROXY,HOTKEY,THREAD_POOL,OPT_AI,WALRECEIVER,USTORE,UPAGE,UBTREE,UNDO,TIMECAPSULE,GEN_COL,DCF,AI4DB,DB4AI,ABO,MOD_ABOFEEDBACK,PLDEBUGGER,ADVISOR,SEC,SEC_FE,SEC_LEGER,SEC_POLICY,SEC_SDD,SEC_TDE,COMM_FRAMEWORK,COMM_PROXY,COMM_POOLER,COMM_STATUS,VACUUM,JOB,SPI,NEST_COMPILE,RESOWNER,GSSTACK,LOGICAL_DECODE,GPRC,DISASTER_READ,STANDBY_READ,REPSYNC,SQLPATCH,PARTITION,UBT_NEWPAGE,GPI,GS_DEPENDENCY,LWLOCK,LOCK,UNIQUE_SQL,GLC,SRF,DBLINK,BARRIER_CREATOR,EXRTO_PAGE_P,SEQ_TUP_P,BT_TUP_P,DISPATCH_VERIFY,HBKT,DBE_STATS,DBE_XMLGEN,GS_ILM,GSPERF,EXEC_REMOTE,UBTREE_PARA,BTREE_PARA,ANTI_CACHE,ANTI_RECYCLER,VERIFYLOG,GS_REPAIR,AUTHID,CCINDEX) (1 row) 可以看到模块SSL的日志输出被打开。 ALL标识是相当于一个快捷操作,即对所有模块的日志可输出进行开启或关闭。 1 2 3 4 5 6 7 8 9 10 11 12 13 gaussdb=# set logging_module='off(ALL)'; SET gaussdb=# show logging_module; logging_module -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ALL,on(),off(COMMAND,DFS,GUC,GSCLEAN,HDFS,ORC,SLRU,MEM_CTL,AUTOVAC,CACHE,ADIO,SSL,GDS,TBLSPC,WLM,OBS,INDEX,EXECUTOR,OPFUSION,GPC,GSC,VEC_EXECUTOR,STREAM,LLVM,OPT,OPT_REWRITE,OPT_JOIN,OPT_AGG,OPT_CHOICE,OPT_SUBPLAN,OPT_SETOP,OPT_SKEW,OPT_PLANNER,OPT_STAT_EXT,SPM,SPM_KEY_FLOW,UDF,COOP_ANALYZE,WLMCP,ACCELERATE,PLANHINT,PARQUET,PGSTAT,CARBONDATA,SNAPSHOT,XACT,HANDLE,CLOG,EC,REMOTE,CN_RETRY,PLSQL,TEXTSEARCH,SEQ,REDO,FUNCTION,PARSER,INSTR,WDR_SNAPSHOT,WDR_REPORT,ASP_REPORT,INCRE_CKPT,INCRE_BG_WRITER,DBL_WRT,RTO_RPO,HEARTBEAT,COMM_IPC,COMM_PARAM,TIMESERIES,SCHEMA,GTT,SEGMENT_PAGE,LIGHTPROXY,HOTKEY,THREAD_POOL,OPT_AI,WALRECEIVER,USTORE,UPAGE,UBTREE,UNDO,TIMECAPSULE,GEN_COL,DCF,AI4DB,DB4AI,ABO,MOD_ABOFEEDBACK,PLDEBUGGER,ADVISOR,SEC,SEC_FE,SEC_LEGER,SEC_POLICY,SEC_SDD,SEC_TDE,COMM_FRAMEWORK,COMM_PROXY,COMM_POOLER,COMM_STATUS,VACUUM,JOB,SPI,NEST_COMPILE,RESOWNER,GSSTACK,LOGICAL_DECODE,GPRC,DISASTER_READ,STANDBY_READ,REPSYNC,SQLPATCH,PARTITION,UBT_NEWPAGE,GPI,GS_DEPENDENCY,LWLOCK,LOCK,UNIQUE_SQL,GLC,SRF,DBLINK,BARRIER_CREATOR,EXRTO_PAGE_P,SEQ_TUP_P,BT_TUP_P,DISPATCH_VERIFY,HBKT,DBE_STATS,DBE_XMLGEN,GS_ILM,GSPERF,EXEC_REMOTE,UBTREE_PARA,BTREE_PARA,ANTI_CACHE,ANTI_RECYCLER,VERIFYLOG,GS_REPAIR,AUTHID,CCINDEX) (1 row) gaussdb=# set logging_module='on(ALL)'; SET gaussdb=# show logging_module; logging_module -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ALL,on(COMMAND,DFS,GUC,GSCLEAN,HDFS,ORC,SLRU,MEM_CTL,AUTOVAC,CACHE,ADIO,SSL,GDS,TBLSPC,WLM,OBS,INDEX,EXECUTOR,OPFUSION,GPC,GSC,VEC_EXECUTOR,STREAM,LLVM,OPT,OPT_REWRITE,OPT_JOIN,OPT_AGG,OPT_CHOICE,OPT_SUBPLAN,OPT_SETOP,OPT_SKEW,OPT_PLANNER,OPT_STAT_EXT,SPM,SPM_KEY_FLOW,UDF,COOP_ANALYZE,WLMCP,ACCELERATE,PLANHINT,PARQUET,PGSTAT,CARBONDATA,SNAPSHOT,XACT,HANDLE,CLOG,EC,REMOTE,CN_RETRY,PLSQL,TEXTSEARCH,SEQ,REDO,FUNCTION,PARSER,INSTR,WDR_SNAPSHOT,WDR_REPORT,ASP_REPORT,INCRE_CKPT,INCRE_BG_WRITER,DBL_WRT,RTO_RPO,HEARTBEAT,COMM_IPC,COMM_PARAM,TIMESERIES,SCHEMA,GTT,SEGMENT_PAGE,LIGHTPROXY,HOTKEY,THREAD_POOL,OPT_AI,WALRECEIVER,USTORE,UPAGE,UBTREE,UNDO,TIMECAPSULE,GEN_COL,DCF,AI4DB,DB4AI,ABO,MOD_ABOFEEDBACK,PLDEBUGGER,ADVISOR,SEC,SEC_FE,SEC_LEGER,SEC_POLICY,SEC_SDD,SEC_TDE,COMM_FRAMEWORK,COMM_PROXY,COMM_POOLER,COMM_STATUS,VACUUM,JOB,SPI,NEST_COMPILE,RESOWNER,GSSTACK,LOGICAL_DECODE,GPRC,DISASTER_READ,STANDBY_READ,REPSYNC,SQLPATCH,PARTITION,UBT_NEWPAGE,GPI,GS_DEPENDENCY,LWLOCK,LOCK,UNIQUE_SQL,GLC,SRF,DBLINK,BARRIER_CREATOR,EXRTO_PAGE_P,SEQ_TUP_P,BT_TUP_P,DISPATCH_VERIFY,HBKT,DBE_STATS,DBE_XMLGEN,GS_ILM,GSPERF,EXEC_REMOTE,UBTREE_PARA,BTREE_PARA,ANTI_CACHE,ANTI_RECYCLER,VERIFYLOG,GS_REPAIR,AUTHID,CCINDEX),off() (1 row) 依赖关系:该参数依赖于log_min_messages参数的设置。
  • log_temp_files 参数说明:该参数控制满足记录要求的临时文件的删除信息。临时文件可以用来排序、哈希及临时查询结果。当一个临时文件被删除时,将会产生一条日志消息。 参数类型:整型 参数单位:kB 取值范围:-1~2147483647。 正整数表示只记录比log_temp_files设定值大的临时文件的删除信息。 值0 表示记录所有的临时文件的删除信息。 值-1 表示不记录任何临时文件的删除信息。 默认值:-1 设置方式:该参数属于SUSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:建议设置默认值-1,表示不记录任何临时文件的删除信息。设置此参数时,当满足记录要求的临时文件越多,日志记录也会越多,则会影响系统性能。
  • log_statement 参数说明:控制记录SQL语句。对于使用扩展查询协议的客户端,记录接收到执行消息的事件和绑定参数的值(内置单引号要双写)。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 即使log_statement设置为all,包含简单语法错误的语句也不会被记录,因为仅在完成基本的语法分析并确定了语句类型之后才记录日志。在使用扩展查询协议的情况下,在执行阶段之前(语法分析或规划阶段)同样不会记录。将log_min_error_statement设为ERROR或更低才能记录这些语句。 设置该参数为非none时,可视为开启相关语句审计功能,数据库DBA可以访问服务端日志查看SQL执行记录。 取值范围:枚举类型 none表示不记录语句。 ddl表示记录所有的数据定义语句,比如CREATE、ALTER和DROP语句。 mod表示记录所有DDL语句,还包括数据修改语句INSERT、UPDATE、DELETE、TRUNCATE和COPY FROM 。 all表示记录所有语句,PREPARE、EXECUTE和EXPLAIN ANALYZE语句也同样被记录。 默认值:none
  • log_line_prefix 参数说明:控制每条日志信息的前缀格式。日志前缀类似于printf风格的字符串,在日志的每行开头输出。用以%为开头的“转义字符”代替表1中的状态信息。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 表1 转义字符表 转义字符 效果 %a 应用程序名称。 %u 用户名。 %d 数据库名。 %r 远端主机名或者IP地址以及远端端口,在不启动log_hostname时显示IP地址及远端端口。 %h 远端主机名或者IP地址,在不启动log_hostname时只显示IP地址。 %p 线程ID。 %t 时间戳(没有毫秒)。 %m 带毫秒的时间戳。 %n 表示指定错误从哪一个节点上报的。 %i 命令标签:会话当前执行的命令类型。 %e SQLSTATE错误码。 %c 会话ID,详见说明。 %l 每个会话或线程的日志编号,从1开始。 %s 线程启动时间。 %v 虚拟事务ID(backendID/ localXID) %x 事务ID(0表示没有分配事务ID)。 %q 不产生任何输出。如果当前线程是后端线程,忽略这个转义序列,继续处理后面的转义序列;如果当前线程不是后端线程,忽略这个转义序列和它后面的所有转义序列。 %S 会话ID。 %T Trace ID。 %% 字符%。 转义字符%c打印一个会话ID,由两个4字节的十六进制数组成,通过字符“.”分开。这两个十六进制数分别表示线程的启动时间及线程编号,所以%c也可以看作是保存打印这些名目的途径的空间。比如,从pg_stat_activity中产生会话ID,可以用下面的查询: 1 2 3 SELECT to_hex(EXTRACT(EPOCH FROM backend_start)::integer) || '.' || to_hex(pid) FROM pg_stat_activity; 当log_line_prefix设置为非空值时,请将其最后一个字符作为一个独立的段,以此来直观地与后续的日志进行区分,也可以使用一个标点符号。 Syslog生成自己的时间戳及线程ID信息,所以当登录日志时,不需要包含这些转义字符。 取值范围:字符串 默认值:%m %n %u %d %h %p %S %x %a %m %n %u %d %h %p %S %x %a 表示会话开始时间戳、错误上报节点、用户名、数据库名、远程主机名或IP、线程ID、会话ID、事务ID、应用名。
  • log_error_verbosity 参数说明:控制服务器日志中每条记录的消息写入的详细度。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:枚举类型 terse输出不包括DETAIL、HINT、QUERY及CONTEXT错误信息的记录。 verbose输出包括SQLSTATE错误代码 、源代码文件名、函数名及产生错误所在的行号。 default输出包括DETAIL、HINT、QUERY及CONTEXT错误信息的记录,不包括SQLSTATE错误代码 、源代码文件名、函数名及产生错误所在的行号。 默认值:default
  • log_checkpoints 参数说明:控制在服务器日志中记录检查点和重启点的信息。打开此参数时,服务器日志消息包含涉及检查点和重启点的统计量,其中包含需要写的缓存区的数量及写入所花费的时间等。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示打开此参数时,服务器日志消息包含涉及检查点和重启点的统计量。 off表示关闭此参数时,服务器日志消息包含不涉及检查点和重启点的统计量。 默认值:off
  • debug_print_plan 参数说明:用于设置是否将查询的执行计划打印到日志中。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示开启打印结果的功能。 off表示关闭打印结果的功能。 默认值:off 只有当日志的级别为log及以上时,debug_print_parse、debug_print_rewritten和debug_print_plan的调试信息才会输出。当这些选项打开时,调试信息只会记录在服务器的日志中,而不会输出到客户端的日志中。通过设置client_min_messages和log_min_messages参数可以改变日志级别。 在打开debug_print_plan开关的情况下需尽量避免调用gs_encrypt_aes128及gs_decrypt_aes128函数,避免敏感参数信息在日志中泄露的风险。同时建议用户在打开debug_print_plan开关生成的日志中对gs_encrypt_aes128及gs_decrypt_aes128函数的参数信息进行过滤后再提供给外部维护人员定位,日志使用完成后请及时删除。
  • log_connections 参数说明:控制是否记录客户端连接请求的日志信息。日志信息包括连接的IP、PORT、用户名、数据库名、GaussDB数据库响应建立连接流程中关键步骤的耗时等。 参数类型:布尔型 参数单位:无 有些客户端程序(例如gsql),在判断是否需要密码的时候会尝试连接两次,因此日志消息中可能存在重复的“connection receive”(收到连接请求)。 取值范围: on:表示记录日志信息。 off:表示不记录日志信息。 默认值:off 设置方式:该参数属于BACKEND类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。
  • log_duration 参数说明:控制记录每个已完成SQL语句的执行时间。对使用扩展查询协议的客户端、会记录语法分析、绑定和执行每一步所花费的时间。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 设置为off,该选项与log_min_duration_statement的不同之处在于log_min_duration_statement强制记录查询文本。 设置为on并且log_min_duration_statement大于零,记录所有持续时间,但是仅记录超过阈值的语句。这可用于在高负载情况下搜集统计信息。 默认值:off
  • PG_TS_TEMPLATE PG_TS_TEMPLATE系统表包含定义文本搜索模板的记录。模板是文本搜索字典的类的实现框架。因为模板必须通过C语言级别的函数实现,索引新模板的创建必须由数据库系统管理员创建。 表1 PG_TS_TEMPLATE字段 名称 类型 引用 描述 oid oid - 行标识符(隐含字段,必须明确选择)。 tmplname name - 文本搜索模板名。 tmplnamespace oid PG_NAMESPACE.oid 包含这个模板的名称空间的OID。 tmplinit regproc PG_PROC.proname 模板的初始化函数名。 tmpllexize regproc PG_PROC.proname 模板的lexize函数名。 父主题: 其他系统表
  • PG_STAT_BGWRITER PG_STAT_BGWRITER视图显示后端写进程活动的统计信息。具体字段信息如表1所示。 表1 PG_STAT_BGWRITER字段 名称 类型 描述 checkpoints_timed bigint 定期执行的检查点数。 checkpoints_req bigint 主动执行的检查点数。 checkpoint_write_time double precision 将文件写入到磁盘时,在检查点处理部分花费的时间总量,以毫秒为单位。 checkpoint_sync_time double precision 将文件同步到磁盘时,在检查点处理部分花费的时间总量,以毫秒为单位。 buffers_checkpoint bigint 检查点写入的缓冲区的数量。 buffers_clean bigint 后端写进程写入的缓冲区的数量。 maxwritten_clean bigint 后端写进程因写入的缓冲区过多导致的清理扫描停止的次数。 buffers_backend bigint 后端直接写入的缓冲区的数量。 buffers_backend_fsync bigint 后端自己执行fsync调用的次数 (通常情况下,即使后端自己执行了这些写入动作,后端写进程也会再处理一次)。 buffers_alloc bigint 分配的缓冲区数量。 stats_reset timestamp with time zone 这些统计被重置的时间。 父主题: 其他系统视图
  • GLOBAL_STATIO_SYS_INDEXES GLOBAL_STATIO_SYS_INDEXES视图显示各节点的命名空间中所有系统表索引的I/O状态信息,如表1所示。 表1 GLOBAL_STATIO_SYS_INDEXES字段 名称 类型 描述 node_name name 节点名称。 relid oid 索引的表的OID。 indexrelid oid 该索引的OID。 schemaname name 该索引的模式名。 relname name 该索引的表名。 indexrelname name 索引名称。 idx_blks_read numeric 从索引中读取的磁盘块数。 idx_blks_hit numeric 索引命中缓存数。 父主题: Cache/IO
  • 基于Psycopg开发 Psycopg是一种用于执行SQL语句的PythonAPI,可以为GaussDB数据库提供统一访问接口,应用程序可基于它进行数据操作。Psycopg2是对libpq的封装,主要使用C语言实现,既高效又安全。它具有客户端游标和服务器端游标、异步通信和通知、支持“COPY TO/COPY FROM”功能。支持多种类型Python开箱即用,适配GaussDB数据类型。通过灵活的对象适配系统,可以扩展和定制适配。Psycopg2兼容Unicode。 GaussDB数据库提供了对Psycopg2特性的支持,并且支持psycopg2通过SSL模式连接。 表1 Psycopg支持平台 操作系统 平台 Python版本 EulerOS V2.0SP5 ARM64位 x86_64位 3.8.5 EulerOS V2.0SP9 ARM64位 x86_64位 3.7.4 EulerOS V2.0SP10、Kylin v10、UnionTech20 ARM64位 x86_64位 3.7.9 EulerOS V2.0SP11、Suse 12.5 ARM64位 x86_64位 3.9.11 Huawei Cloud EulerOS 2.0 ARM64位 x86_64位 3.9.9 psycopg2在编译过程中,会链接(link)GaussDB的openssl,GaussDB的openssl与操作系统自带的openssl可能不兼容。如果遇到不兼容现象,例如提示"version 'OPENSSL_1_1_1f' not found",请使用环境变量LD_LIBRARY_PATH进行隔离,以避免混用操作系统自带的openssl与GaussDB依赖的openssl。 例如,在执行某个调用psycopg2的应用软件client.py时,将环境变量显性赋予该应用软件: export LD_LIBRARY_PATH=/path/to/gaussdb/libs:$LD_LIBRARY_PATH python client.py 其中,/path/to/pyscopg2/lib 表示GaussDB依赖的openssl库所在目录,需根据文件实际存储路径修改。 开发流程 Psycopg包 示例:常用操作 示例:向量场景 Psycopg接口参考 父主题: 应用程序开发教程
  • MY_ROLE_PRIVS MY_ROLE_PRIVS视图显示授予当前用户角色(包括public角色)的权限的信息。默认所有用户都可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 MY_ROLE_PRIVS字段 名称 类型 描述 grantee character varying(128) 被授予权限的用户或角色名称。 granted_role character varying(128) 被授予的角色。 admin_option character varying(3) 该授权是否包含ADMIN选项。 YES:包含ADMIN选项。 NO:不包含ADMIN选项。 delegate_option character varying(3) 暂不支持,值为NULL。 default_role character varying(3) 暂不支持,值为NULL。 os_granted character varying(3) 暂不支持,值为NULL。 common character varying(3) 暂不支持,值为NULL。 inherited character varying(3) 暂不支持,值为NULL。 父主题: 用户和权限管理
  • 注意事项 当enable_access_server_directory=off时,只允许初始用户创建directory对象。当enable_access_server_directory=on时,具有SYSADMIN权限的用户和继承了内置角色gs_role_directory_create权限的用户可以创建directory对象。 创建用户默认拥有此路径的READ和WRITE操作权限。 目录的默认owner为创建directory的用户。 以下路径禁止创建: 路径含特殊字符。 路径是相对路径。 创建目录时会进行以下合法性校验: 创建时会检查添加路径是否为操作系统实际存在路径,如不存在会提示用户使用风险。 创建时会校验数据库初始化(omm)用户对于添加路径的权限(即操作系统目录权限,读/写/执行 - R/W/X),如果权限不全,会提示用户使用风险。 在集群环境下用户指定的路径需要用户保证各节点上路径的一致性,否则在不同节点上执行会产生找不到路径的问题。 可在pg_directory表中查看已存在目录对象。
  • 示例 1 2 3 4 5 6 7 8 9 10 11 12 --创建目录对象。 gaussdb=# CREATE OR REPLACE DIRECTORY dir AS '/tmp/'; --查看已创建的目录对象。 gaussdb=# select * from pg_directory; dirname | owner | dirpath | diracl ---------+-------+---------+-------- dir | 10 | /tmp | (1 row) --删除目录对象。 gaussdb=# DROP DIRECTORY dir;
  • GS_ADM_ILMTASKS GS_ADM_ILMTASKS视图反映ADO Task的概要信息,包含Task ID,Task Owner,状态以及时间信息。默认只有系统管理员权限才可以访问此系统视图,普通用户需要授权才可以访问。 表1 GS_ADM_ILMTASKS字段 名称 类型 描述 task_id bigint ADO Task的ID。 task_owner character varying(128) ADO Task发起的用户,仅ADM视图存在此列。 state character varying(9) 状态: INACTIVE:非活动。 ACTIVE:活动。 COMPLETED:完成。 UNKNOWN: 评估中。 creation_time timestamp with time zone 创建时间。 start_time timestamp with time zone 变成活动状态的时间。 completion_time timestamp with time zone 完成时间。 node_name name 数据来源节点的名称。 父主题: OLTP表压缩
  • 表级字符集和字符序 设置表的默认字符集和默认字符序。 CREATE TABLE table_name (column_list) [ [DEFAULT] CHARACTER SET | CHARSET [ = ] default_charset ] [ [DEFAULT] COLLATE [ = ] default_collation ] 修改表的默认字符集和默认字符序,修改不会影响表中当前已经存在的列。 ALTER TABLE table_name [ [DEFAULT] CHARACTER SET | CHARSET [ = ] default_charset ] [ [DEFAULT] COLLATE [ = ] default_collation ] 修改表的默认字符集和默认字符序为指定的值,同时将表中的所有字符类型的字段的字符集和字符序设置为指定的值,并将字段里的数据转换为新字符集编码。 ALTER TABLE table_name CONVERT TO CHARACTER SET | CHARSET charset [ COLLATE collation ] 参数说明 table_name 表名称。 default_charset 指定表的默认字符集,单独指定时会将表的默认字符序设置为指定的字符集的默认字符序。 default_collation 指定表的默认字符序,单独指定时会将表的默认字符集设置为指定的字符序对应的字符集。 GaussDB通过以下方式选择表的字符集和字符序: 如果同时指定了default_charset 和default_collation,则使用字符集default_charset和字符序 default_collation,且default_charset和default_collation需要对应,不对应会产生报错。 如果仅指定了default_charset,则使用字符集default_charset及其默认字符序。 如果仅指定了default_collation,则使用default_collation字符序和其对应的字符集。 如果既不指定default_charset也不指定default_collation,则使用该表所在的模式的默认字符集和默认字符序作为表的默认字符集和表的默认字符序。 default_charset仅支持指定为带有默认字符序的字符集,如果指定的字符集没有默认字符序则报错。 default_collation仅支持指定为B模式(即sql_compatibility = 'B')下的字符序,指定其他字符序报错。 如果表的默认字符序为binary,则表中未指定字符序的文本类型会转换为对应的二进制类型,且字符序设置为binary。 暂不支持设置表的默认字符集与数据库的server_encoding不同。 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 -- 仅设置字符集,字符序为字符集的默认字符序。 gaussdb=# CREATE TABLE test(c1 text) CHARSET utf8; -- 仅设置字符序,字符集为字符序关联的字符集。 gaussdb=# CREATE TABLE test(c1 text) COLLATE utf8_bin; -- 同时设置字符集与字符序,字符集和字符序需对应。 gaussdb=# CREATE TABLE test(c1 text) CHARSET utf8 COLLATE utf8_bin; -- 将表中字符类型字段的数据转化为utf8mb4编码,并设置表和字段的字符序为utf8mb4_bin。 gaussdb=# ALTER TABLE test CONVERT TO CHARSET utf8mb4 COLLATE utf8mb4_bin; -- 修改表的默认字符集为utf8mb4,默认字符序为utf8mb4_bin。 gaussdb=# ALTER TABLE test CHARSET utf8mb4 COLLATE utf8mb4_bin; 父主题: 字符集与字符序
  • GLOBAL_POOLER_STATUS GLOBAL_POOLER_STATUS视图用于查询全局CN 的pooler中的缓存连接状态,如表1所示。 表1 GLOBAL_POOLER_STATUS字段 名称 类型 描述 source_node_name name 源节点名称。 database text 数据库名称。 user_name text 用户名。 tid bigint 非线程池逻辑下为连接CN的线程id,线程池逻辑下为连接CN的sessionid。 node_oid bigint 连接的实例节点OID。 node_name name 连接的实例节点名称。 in_use boolean 连接是否正被使用: t(true):表示连接正在使用。 f(false):表示连接没有使用。 local_host text 本端IP。 local_port bigint 本端端口号。 remote_host text 连接的节点IP。 node_port integer 连接的节点端口。 fdsock bigint 端口文件描述符。 remote_pid bigint 连接的远端节点线程号。 session_params text 会话参数。 used_count bigint 该连接的复用次数。 idx bigint 连接的实例节点逻辑连接id。 streamid bigint 每个逻辑连接对应的流标识id。 父主题: Utility
  • SUMMARY_STAT_XACT_ALL_TABLES 显示数据库各节点所有Schema中所有普通表和toast表的事务状态信息的汇总求和结果,如表1所示。 表1 SUMMARY_STAT_XACT_ALL_TABLES字段 名称 类型 描述 schemaname name 此表所在的Schema名。 relname name 表名。 seq_scan numeric 此表发起的顺序扫描数。 seq_tup_read numeric 顺序扫描抓取的活跃行数。 idx_scan numeric 此表发起的索引扫描数。 idx_tup_fetch numeric 索引扫描抓取的活跃行数。 n_tup_ins numeric 插入行数。 n_tup_upd numeric 更新行数。 n_tup_del numeric 删除行数。 n_tup_hot_upd numeric HOT更新行数(即没有更新索引列的行数)。 父主题: Object
  • SNAPSHOT.SNAPSHOT SNAPSHOT表记录当前系统中存储的WDR快照数据的索引信息,开始,结束时间。只有初始化用户或监控管理员用户有权限查看。只可在系统库中查询到结果,用户库中无法查询,WDR Snapshot在启动后(打开GUC参数enable_wdr_snapshot)会触发创建该表,如表1所示。 表1 SNAPSHOT表属性 名称 类型 描述 示例 snapshot_id bigint WDR快照序号。 1 start_ts timestamp WDR快照的开始时间。 2019-12-28 17:11:27.423742+08 end_ts timestamp WDR快照的结束时间。 2019-12-28 17:11:43.67726+08 version int WDR快照的版本信息。 1 snap_flag bigint WDR快照的属性。 NULL:代表该快照为旧版本快照。 0:表示该次快照为全量快照。 1:表示该次快照为增量快照。 0 base_snapshot_id bigint WDR快照对应的的全量快照id。 1 父主题: WDR Snapshot原信息
  • SNAPSHOT.SNAPSHOT SNAPSHOT表记录当前系统中存储的WDR快照数据的索引信息、开始和结束时间。只能在系统库中查询到结果,用户库中无法查询,WDR Snapshot在启动后(打开GUC参数enable_wdr_snapshot)会触发创建该表,如表1所示。 表1 SNAPSHOT表属性 名称 类型 描述 示例 snapshot_id bigint WDR快照序号。 1 start_ts timestamp WDR快照的开始时间。 2019-12-28 17:11:27.423742+08 end_ts timestamp WDR快照的结束时间。 2019-12-28 17:11:43.67726+08 version int WDR快照的版本信息。 1 snap_flag bigint WDR快照的属性。 NULL:代表该快照为旧版本快照。 0:表示该次快照为全量快照。 1:表示该次快照为增量快照。 0 base_snapshot_id bigint WDR快照对应的的全量快照id。 1 父主题: WDR Snapshot原信息
  • GaussDB的DROP、TRUNCATE、DELETE这三种删除数据的方式主要区别是什么? 答:DROP、TRUNCATE、DELETE这三种删除方式的区别主要体现在删除的速度和删除的范围上,具体所下: DROP语句的删除速度最快,可以删除整个表,包括表结构、数据、索引和权限。 TRUNCATE语句的删除速度中等,可以删除表中的所有数据,但不删除表结构。 DELETE语句的删除速度最慢,可以根据条件删除表中的数据,但不包括表结构。 父主题: FAQ
  • DB_ARGUMENTS DB_ARGUMENTS视图显示当前用户可访问的存储过程和函数的参数信息。该视图同时存在于PG_CATALOG和SYS Schema下。该视图所有用户都可以访问,显示当前用户可访问的所有信息。 表1 DB_ARGUMENTS字段 名称 类型 描述 owner character varying(128) 函数或存储过程的所有者。 object_name character varying(128) 函数或存储过程的名称。 package_name character varying(128) 包名。 object_id oid 函数或存储过程的OID。 overload character varying(40) 表示该函数是该名称的第n个重载函数。 subprogram_id numeric 包中函数或存储过程的位置。 argument_name character varying(128) 参数名称。 position numeric 该参数在参数列表中的位置,函数返回值位置默认为0。 sequence numeric 定义参数的顺序,从1开始,返回类型在前,然后是每个参数。 data_level numeric 复合类型参数的嵌套深度,此列的值始终为0,因为每个参数现在只显示一行。 data_type character varying(30) 参数的数据类型。 defaulted character varying(1) 参数是否有默认值: Y:表示有默认值。 N:表示没有默认值。 default_value text 暂不支持,值为NULL。 default_length numeric 暂不支持,值为NULL。 in_out character varying(9) 参数出入属性: IN:表示入参。 OUT:表示出参。 IN_OUT:表示出入参。 VARIADIC:表示VARIADIC参数。 data_length numeric 暂不支持,值为NULL。 data_precision numeric 暂不支持,值为NULL。 data_scale numeric 暂不支持,值为NULL。 radix numeric 数字的参数基数,smallint、integer、bigint、numeric、float为10,其余值为NULL。 character_set_name character varying(44) 暂不支持,值为NULL。 type_owner character varying(128) 数据类型所有者。 type_name character varying(128) 参数类型名,仅显示自定义类型。 type_subname character varying(128) 暂不支持,值为NULL。 type_link character varying(128) 暂不支持,值为NULL。 type_object_type character varying(7) type_name类型的类型: TABLE:表示参数为表类型。 VIEW:表示参数为视图类型。 其余值为NULL。 pls_type character varying(128) 对于数字类型参数,为参数的PL/SQL类型的名称,否则为空。 char_length numeric 暂不支持,值为NULL。 char_used character varying(1) 暂不支持,varchar,nvarchar2,bpchar,char类型置B,其余值为NULL。 origin_con_id character varying(256) 暂不支持,值为0。 父主题: 其他系统视图
  • SQL语言分为哪几类? 答:SQL语言分为3类,分别为: DDL(Data Definition Language,数据定义语言),用于定义或修改数据库中的对象,如:表、索引、视图等。 DML(Data Manipulation Language,数据操作语言),用于对数据库表中的数据进行操作。如:插入、更新、查询、删除。 DCL(Data Control Language,数据控制语言),用于设置或更改数据库用户或角色权限。 父主题: FAQ
  • GS_TXN_SNAPSHOT GS_TXN_SNAPSHOT是“时间戳-CSN”映射表,周期性采样,并维护适当的时间范围,用于估算范围内的时间戳对应的CSN值。 表1 GS_TXN_SNAPSHOT字段 名称 类型 描述 snptime timestamp with time zone 快照捕获时间。 snpxmin bigint 快照xmin。 snpcsn bigint 快照csn。 snpsnapshot text 快照序列化文本。 父主题: 其他系统表
共100000条