华为云用户手册

  • 常量与宏 GaussDB 支持的常量和宏请参见表1。 表1 常量和宏 参数 描述 示例 CURRENT_CATA LOG 当前数据库 1 2 3 4 5 testdb=# SELECT CURRENT_CATALOG; current_database ------------------ testdb (1 row) CURRENT_ROLE 当前用户 1 2 3 4 5 openGauss=# SELECT CURRENT_ROLE; current_user -------------- omm (1 row) CURRENT_SCHEMA 当前数据库模式 1 2 3 4 5 openGauss=# SELECT CURRENT_SCHEMA; current_schema ---------------- public (1 row) CURRENT_USER 当前用户 1 2 3 4 5 openGauss=# SELECT CURRENT_USER; current_user -------------- omm (1 row) LOCALTIMESTAMP 当前会话时间(无时区) 1 2 3 4 5 openGauss=# SELECT LOCALTIMESTAMP; timestamp ---------------------------- 2015-10-10 15:37:30.968538 (1 row) NULL 空值 - SESSION_USER 当前系统用户 1 2 3 4 5 openGauss=# SELECT SESSION_USER; session_user -------------- omm (1 row) SYSDATE 当前系统日期 1 2 3 4 5 openGauss=# SELECT SYSDATE; sysdate --------------------- 2015-10-10 15:48:53 (1 row) USER 当前用户,此用户为CURRENT_USER的别名。 1 2 3 4 5 openGauss=# SELECT USER; current_user -------------- omm (1 row) 父主题: SQL参考
  • REPLICATION_STAT REPLICATION_STAT用于描述日志同步状态信息,如发起端发送日志位置、接收端接收日志位置等。 表1 REPLICATION_STAT字段 名称 类型 描述 pid bigint 线程的PID。 usesysid oid 用户系统ID。 usename name 用户名。 application_name text 程序名称。 client_addr inet 客户端地址。 client_hostname text 客户端名。 client_port integer 客户端端口。 backend_start timestamp with time zone 程序启动时间。 state text 日志复制的状态: 追赶状态。 一致的流状态。 sender_sent_location text 发送端发送日志位置。 receiver_write_location text 接收端write日志位置。 receiver_flush_location text 接收端flush日志位置。 receiver_replay_location text 接收端replay日志位置。 sync_priority integer 同步复制的优先级(0表示异步)。 sync_state text 同步状态: 异步复制。 同步复制。 潜在同步者。 父主题: Utility
  • 存储过程 商业规则和业务逻辑可以通过程序存储在GaussDB中,这个程序就是存储过程。 存储过程是SQL和PL/SQL的组合。存储过程使执行商业规则的代码可以从应用程序中移动到数据库。从而,代码存储一次能够被多个程序使用。 存储过程的创建及调用办法请参考CREATE PROCEDURE。 PL/SQL语言函数节所提到的PL/SQL语言创建的函数与存储过程的应用方法相同。下面各节中,除非特别声明,否则内容通用于存储过程和PL/SQL语言函数。 父主题: 存储过程
  • 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):表示否。 父主题: 系统视图
  • GLOBAL_STAT_DB_CU GLOBAL_STAT_DB_CU视图用于查询GaussDB中每个数据库的CU命中情况。可以通过pg_stat_reset()进行清零。 表1 GLOBAL_STAT_DB_CU字段 名称 类型 描述 node_name1 text 节点名称。 db_name text 数据库名。 mem_hit bigint 内存命中次数。 hdd_sync_read bigint 硬盘同步读次数。 hdd_asyn_read bigint 硬盘异步读次数。 父主题: Cache/IO
  • 参数 表1 SQLSetStmtAttr参数 关键字 参数说明 StatementHandle 语句句柄。 Attribute 需设置的属性。 ValuePtr 指向对应Attribute的值。依赖于Attribute的值,ValuePtr可能是32位无符号整型值,或指向以空结束的字符串,二进制缓冲区,或者驱动定义值。注意,如果ValuePtr参数是驱动程序指定值。ValuePtr可能是有符号的整数。 StringLength 如果ValuePtr指向字符串或二进制缓冲区,这个参数是*ValuePtr长度,如果ValuePtr指向整型,忽略StringLength。
  • 原型 1 2 3 4 SQLRETURN SQLSetStmtAttr(SQLHSTMT StatementHandle, SQLINTEGER Attribute, SQLPOINTER ValuePtr, SQLINTEGER StringLength);
  • 语法格式 ALTER [ ROW LEVEL SECURITY ] POLICY [ IF EXISTS ] policy_name ON table_name RENAME TO new_policy_name; ALTER [ ROW LEVEL SECURITY ] POLICY policy_name ON table_name [ TO { role_name | PUBLIC } [, ...] ] [ USING ( using_expression ) ];
  • 示例 --创建SCHEMA。 openGauss=# CREATE SCHEMA tpcds; --创建表tpcds.reason。 openGauss=# CREATE TABLE tpcds.reason ( r_reason_sk INTEGER NOT NULL, r_reason_id CHAR(16) NOT NULL, r_reason_desc VARCHAR(40) ); --向表中插入多条记录。 openGauss=# INSERT INTO tpcds.reason VALUES (1, 'AAAAAAAABAAAAAAA', 'Xxxxxxxxx'),(2, 'AAAAAAAACAAAAAAA', ' Xxxxxxxxx'),(3, 'AAAAAAAADAAAAAAA', ' Xxxxxxxxx'),(4, 'AAAAAAAAEAAAAAAA', 'Not the product that was ordered'),(5, 'AAAAAAAAFAAAAAAA', 'Parts missing'),(6, 'AAAAAAAAGAAAAAAA', 'Does not work with a product that I have'),(7, 'AAAAAAAAHAAAAAAA', 'Gift exchange'); --开始一个事务。 openGauss=# START TRANSACTION; --定义一个名为cursor1的游标。 openGauss=# CURSOR cursor1 FOR SELECT * FROM tpcds.reason; --忽略游标cursor1的前3行。 openGauss=# MOVE FORWARD 3 FROM cursor1; --抓取游标cursor1的前4行。 openGauss=# FETCH 4 FROM cursor1; r_reason_sk | r_reason_id | r_reason_desc -------------+------------------+------------------------------------------------------------------------------------------------------ 4 | AAAAAAAAEAAAAAAA | Not the product that was ordered 5 | AAAAAAAAFAAAAAAA | Parts missing 6 | AAAAAAAAGAAAAAAA | Does not work with a product that I have 7 | AAAAAAAAHAAAAAAA | Gift exchange (4 rows) --关闭游标。 openGauss=# CLOSE cursor1; --结束一个事务。 openGauss=# END; --删除表。 openGauss=# DROP TABLE tpcds.reason; --删除SCHEMA。 openGauss=# DROP SCHEMA tpcds CASCADE;
  • 语法格式 MOVE [ direction [ FROM | IN ] ] cursor_name; 其中direction子句为可选参数。 NEXT | PRIOR | FIRST | LAST | ABSOLUTE count | RELATIVE count | count | ALL | FORWARD | FORWARD count | FORWARD ALL | BACKWARD | BACKWARD count | BACKWARD ALL
  • MY_IND_COLUMNS MY_IND_COLUMNS视图显示当前用户下所有索引的字段信息。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 MY_IND_COLUMNS字段 名称 类型 描述 index_owner character varying(64) 索引的所有者。 index_name character varying(64) 索引名。 table_owner character varying(64) 表的所有者。 table_name character varying(64) 表名。 column_name name 列名。 column_position smallint 索引中列的位置。 父主题: 系统视图
  • DBE_PLDEBUGGER.continue 执行当前存储过程,直到下一个断点或结束,返回执行的下一条的行数和对应query。 函数原型为: 1 2 DBE_PLDEBUGGER.continue() RETURN Record; 表1 continue 返回值列表 名称 类型 描述 funcoid OUT oid 函数id funcname OUT text 函数名 lineno OUT integer 当前调试运行的下一行行号 query OUT text 当前调试的下一行函数源码 父主题: DBE_PLDEBUGGER Schema
  • GLOBAL_INSTANCE_TIME 提供数据库中所有正常节点下的各种时间消耗信息(时间类型见instance_time视图)。 表1 GLOBAL_INSTANCE_TIME字段 名称 类型 描述 node_name name 节点名称。 stat_id integer 统计编号。 stat_name text 类型名称。 value bigint 时间值(单位:微秒)。 父主题: Instance
  • 条件表达式函数 coalesce(expr1, expr2, ..., exprn) 描述: 返回参数列表中第一个非NULL的参数值。 COALESCE(expr1, expr2) 等价于CASE WHEN expr1 IS NOT NULL THEN expr1 ELSE expr2 END。 示例: 1 2 3 4 5 openGauss=# SELECT coalesce(NULL,'hello'); coalesce ---------- hello (1 row) 备注: 如果表达式列表中的所有表达式都等于NULL,则本函数返回NULL。 它常用于在显示数据时用缺省值替换NULL。 和CASE表达式一样,COALESCE不会计算不需要用来判断结果的参数;即在第一个非空参数右边的参数不会被计算。 decode(base_expr, compare1, value1, Compare2,value2, … default) 描述:把base_expr与后面的每个compare(n) 进行比较,如果匹配返回相应的value(n)。如果没有发生匹配,则返回default。 示例: 1 2 3 4 5 openGauss=# SELECT decode('A','A',1,'B',2,0); case ------ 1 (1 row) nullif(expr1, expr2) 描述:当且仅当expr1和expr2相等时,NULLIF才返回NULL,否则它返回expr1。 nullif(expr1, expr2) 逻辑上等价于CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END。 示例: 1 2 3 4 5 openGauss=# SELECT nullif('hello','world'); nullif -------- hello (1 row) 备注: 如果两个参数的数据类型不同,则: 若两种数据类型之间存在隐式转换,则以其中优先级较高的数据类型为基准将另一个参数隐式转换成该类型,转换成功则进行计算,转换失败则返回错误。如: 1 2 3 4 5 openGauss=# SELECT nullif('1234'::VARCHAR,123::INT4); nullif -------- 1234 (1 row) 1 2 openGauss=# SELECT nullif('1234'::VARCHAR,'2012-12-24'::DATE); ERROR: invalid input syntax for type timestamp: "1234" 若两种数据类型之间不存在隐式转换,则返回错误 。如: 1 2 3 4 5 openGauss=# SELECT nullif(TRUE::BOOLEAN,'2012-12-24'::DATE); ERROR: operator does not exist: boolean = timestamp without time zone LINE 1: SELECT nullif(TRUE::BOOLEAN,'2012-12-24'::DATE) FROM sys_dummy; ^ HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts. nvl( expr1 , expr2 ) 描述: 如果expr1为NULL则返回expr2。 如果expr1非NULL,则返回expr1。 示例: 1 2 3 4 5 openGauss=# SELECT nvl('hello','world'); nvl ------- hello (1 row) 备注:参数expr1和expr2可以为任意类型,当NVL的两个参数不属于同类型时,看第二个参数是否可以向第一个参数进行隐式转换。如果可以则返回第一个参数类型,否则返回错误。 greatest(expr1 [, ...]) 描述:获取并返回参数列表中值最大的表达式的值。 返回值类型: 示例: 1 2 3 4 5 openGauss=# SELECT greatest(1*2,2-3,4-1); greatest ---------- 3 (1 row) 1 2 3 4 5 openGauss=# SELECT greatest('HARRY', 'HARRIOT', 'HAROLD'); greatest ---------- HARRY (1 row) least(expr1 [, ...]) 描述:获取并返回参数列表中值最小的表达式的值。 示例: 1 2 3 4 5 openGauss=# SELECT least(1*2,2-3,4-1); least ------- -1 (1 row) 1 2 3 4 5 openGauss=# SELECT least('HARRY','HARRIOT','HAROLD'); least -------- HAROLD (1 row) EMPTY_BLOB() 描述:使用EMPTY_BLOB在INSERT或UPDATE语句中初始化一个BLOB变量,取值为NULL。 返回值类型:BLOB 示例: 1 2 3 4 5 6 --新建表 openGauss=# CREATE TABLE blob_tb(b blob,id int); --插入数据 openGauss=# INSERT INTO blob_tb VALUES (empty_blob(),1); --删除表 openGauss=# DROP TABLE blob_tb; 备注:使用DBE_LOB.GET_LENGTH求得的长度为0。
  • 示例 --创建目录。 openGauss=# CREATE OR REPLACE DIRECTORY dir as '/tmp/'; --创建用户。 openGauss=# CREATE USER system PASSWORD '********'; --修改目录的owner。 openGauss=# ALTER DIRECTORY dir OWNER TO system; --删除目录。 openGauss=# DROP DIRECTORY dir;
  • GLOBAL_STAT_XACT_USER_FUNCTIONS 视图包含各节点本事务内函数执行的统计信息。 表1 GLOBAL_STAT_XACT_USER_FUNCTIONS字段 名称 类型 描述 node_name name 节点名称。 funcid oid 函数标识。 schemaname name 模式的名称。 funcname name 函数名称。 calls bigint 函数被调用的次数。 total_time double precision 此函数及其调用的所有其他函数所花费的总时间。 self_time double precision 在此函数本身中花费的总时间(不包括它调用的其他函数)。 父主题: Object
  • PG_AUTH_MEMBERS PG_AUTH_MEMBERS系统表存储显示角色之间的成员关系。 表1 PG_AUTH_MEMBERS字段 名称 类型 描述 roleid oid 拥有成员的角色ID。 member oid 属于ROLEID角色的一个成员的角色ID。 grantor oid 赋予此成员关系的角色ID。 admin_option boolean 如果MEMBER可以把ROLEID角色的成员关系赋予其他角色则为真,不可以则为假。 父主题: 系统表
  • ADM_OBJE CTS ADM_OBJECTS视图显示数据库中所有数据库对象的信息。需要有系统管理员权限才可以访问,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 ADM_OBJECTS字段 名称 类型 描述 owner name 对象的所有者。 object_name name 对象的名称。 object_id oid 对象的OID。 object_type name 对象的类型。例如table,schema,index等。 namespace oid 对象所在的命名空间。 created timestamp with time zone 对象的创建时间 last_ddl_time timestamp with time zone 对象的最后修改时间 created和last_ddl_time支持的范围参见PG_OBJECT中的记录范围。 父主题: 系统视图
  • ADM_PROCEDURES ADM_PROCEDURES视图显示数据库中所有存储过程或函数的信息。默认只有系统管理员权限才可以访问此系统视图,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 ADM_PROCEDURES字段 名称 类型 描述 owner character varying(64) 存储过程或函数的所有者。 object_name character varying(64) 存储过程或函数名称。 argument_number smallint 存储过程入参个数。 父主题: 系统视图
  • PG_VIEWS PG_VIEWS视图显示数据库中每个视图的有用信息。 表1 PG_VIEWS字段 名称 类型 引用 描述 schemaname name PG_NAMESPACE.nspname 视图的模式名。 viewname name PG_CLASS.relname 视图名。 viewowner name PG_AUTHID.Erolname 视图的所有者。 definition text - 视图的定义。 父主题: 系统视图
  • GLOBAL_REDO_STATUS GLOBAL_REDO_STATUS视图显示数据库实例的日志回放情况。 表1 GLOBAL_REDO_STATUS字段 名称 类型 描述 node_name text 实例名称。 redo_start_ptr bigint 当前实例日志回放的起始点。 redo_start_time bigint 当前实例日志回放的起始UTC时间。 redo_done_time bigint 当前实例日志回放的结束UTC时间。 curr_time bigint 当前实例的当前UTC时间。 min_recovery_point bigint 当前实例日志完成回放后可对外提供服务的最小一致性点。 read_ptr bigint 当前实例日志的读取位置。 last_replayed_read_ptr bigint 当前实例的日志回放位置。 recovery_done_ptr bigint 当前实例启动完成时的回放位置。 read_xlog_io_counter bigint 当前实例读取回放日志的I/O次数计数。 read_xlog_io_total_dur bigint 当前实例读取回放日志的I/O总用时。 read_data_io_counter bigint 当前实例日志回放过程中,读取数据页面的I/O次数计数。 read_data_io_total_dur bigint 当前实例日志回放过程中,读取数据页面的I/O总用时。 write_data_io_counter bigint 当前实例日志回放过程中,写数据页面的I/O次数计数。 write_data_io_total_dur bigint 当前实例日志回放过程中,写数据页面的I/O总用时。 process_pending_counter bigint 当前实例日志回放过程中,日志分发线程的同步次数计数。 process_pending_total_dur bigint 当前实例日志回放过程中,日志分发线程的同步总用时。 apply_counter bigint 当前实例日志回放过程中,回放线程的同步次数计数。 apply_total_dur bigint 当前实例日志回放过程中,回放线程的同步总用时。 speed bigint 当前实例日志回放速率,每回放256MB日志该值更新一次,单位byte/s。 建议使用cm_ctl query -rv命令来获取更精确的备机回放速度。 local_max_ptr bigint 当前实例启动成功后本地收到的回放日志的最大值。 primary_flush_ptr bigint 主机落盘日志的位置。 worker_info text 当前实例回放线程信息,若没有开并行回放则该值为空。 父主题: Utility
  • GLOBAL_DOUBLE_WRITE_STATUS GLOBAL_DOUBLE_WRITE_STATUS视图显示数据库所有实例的双写文件的情况。 表1 GLOBAL_DOUBLE_WRITE_STATUS字段 名称 类型 描述 node_name text 实例名称。 curr_dwn bigint 当前双写文件的序列号。 curr_start_page bigint 当前双写文件恢复起始页面。 file_trunc_num bigint 当前双写文件复用的次数。 file_reset_num bigint 当前双写文件写满后发生重置的次数。 total_writes bigint 当前双写文件总的I/O次数。 low_threshold_writes bigint 低效率写双写文件的I/O次数。 high_threshold_writes bigint 高效率写双写文件的I/O次数。 total_pages bigint 当前刷页到双写文件区的总的页面个数。 low_threshold_pages bigint 低效率刷页的页面个数。 high_threshold_pages bigint 高效率刷页的页面个数。 file_id bigint 当前双写文件的id号。 父主题: Utility
  • PGXC_NODE PGXC_NODE系统表存储数据库实例节点信息。PGXC_NODE系统表在集中式场景下只能查询表定义。 表1 PGXC_NODE字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 node_name name 节点名称。 node_type "char" 节点类型。 C:协调节点。 D:数据节点。 S:数据节点的备节点。 node_port integer 节点的端口号。 node_host name 节点的主机名称或者IP(如配置为虚拟IP,则为虚拟IP)。 node_port1 integer 复制节点的端口号。 node_host1 name 复制节点的主机名称或者IP(如配置为虚拟IP,则为虚拟IP)。 hostis_primary boolean 表明当前节点是否发生主备切换。 t(true):表示发生。 f(false):表示不发生。 nodeis_primary boolean 在replication表下,是否优选当前节点作为优先执行的节点进行非查询操作。 t(true):表示优选。 f(false):表示不优选。 nodeis_preferred boolean 在replication表下,是否优选当前节点作为首选的节点进行查询。 t(true):表示优选。 f(false):表示不优选。 node_id integer 节点标识符。由node_name经过hash函数计算后得到。 sctp_port integer 主节点使用TCP代理通信库的数据通道侦听端口(当前版本已经不再支持SCTP通信库)。 control_port integer 主节点使用TCP代理通信库的控制通道侦听端口。 sctp_port1 integer 备节点使用TCP代理通信库的数据通道侦听端口(当前版本已经不再支持SCTP通信库)。 control_port1 integer 备节点使用TCP代理通信库的控制通道侦听端口。 nodeis_central boolean 表明当前节点是否为中心控制节点,对DN无效。 t(true):表示是。 f(false):表示不是。 nodeis_active boolean 表明当前节点是否是正常状态,对DN无效。 t(true):表示是。 f(false):表示不是。 父主题: 系统表
  • 矩形 矩形是用一对对角点来表示的。用下面的语法描述box的值: ( ( x1 , y1 ) , ( x2 , y2 ) ) ( x1 , y1 ) , ( x2 , y2 ) x1 , y1 , x2 , y2 (x1,y1)和(x2,y2)表示矩形的一对对角点,点的数值类型为float8类型。 矩形的输出使用第二种语法。 任何两个对角都可以出现在输入中,但按照那样的顺序,右上角和左下角的值会被重新排序以存储。 示例: openGauss=# select box(point(1.1, 2.2), point(3.3, 4.4)); box --------------------- (3.3,4.4),(1.1,2.2) (1 row)
  • 多边形 多边形由一系列点代表(多边形的顶点)。多边形可以认为与闭合路径一样,但是存储方式不一样而且有自己的一套支持函数。 用下面的语法描述polygon的数值: ( ( x1 , y1 ) , ... , ( xn , yn ) ) ( x1 , y1 ) , ... , ( xn , yn ) ( x1 , y1 , ... , xn , yn ) x1 , y1 , ... , xn , yn 点表示多边形的顶点,点的数值类型为float8类型。 多边形输出使用第一种语法。 示例: openGauss=# select polygon(box '((0,0),(1,1))'); polygon --------------------------- ((0,0),(0,1),(1,1),(1,0)) (1 row)
  • 线段 线段(lseg)是用一对点来代表的。用下面的语法描述lseg的数值: [ ( x1 , y1 ) , ( x2 , y2 ) ] ( ( x1 , y1 ) , ( x2 , y2 ) ) ( x1 , y1 ) , ( x2 , y2 ) x1 , y1 , x2 , y2 (x1,y1)和(x2,y2)表示线段的端点,点的数值类型为float8类型。 线段输出使用第一种语法。 示例: openGauss=# select lseg(point(1.1, 2.2), point(3.3, 4.4)); lseg ----------------------- [(1.1,2.2),(3.3,4.4)] (1 row)
  • 路径 路径由一系列连接的点组成。路径可能是开放的,也就是认为列表中第一个点和最后一个点没有连接,也可能是闭合的,这时认为第一个和最后一个点连接起来。 用下面的语法描述path的数值: [ ( x1 , y1 ) , ... , ( xn , yn ) ] ( ( x1 , y1 ) , ... , ( xn , yn ) ) ( x1 , y1 ) , ... , ( xn , yn ) ( x1 , y1 , ... , xn , yn ) x1 , y1 , ... , xn , yn 点表示组成路径的线段的端点,点的数值类型为float8类型。方括号([])表明一个开放的路径,圆括号(())表明一个闭合的路径。当最外层的括号被省略,如在第三至第五语法,会假定一个封闭的路径。 路径的输出使用第一种或第二种语法输出。 示例: openGauss=# select path(polygon '((0,0),(1,1),(2,0))'); path --------------------- ((0,0),(1,1),(2,0)) (1 row)
  • ADM_TAB_PARTITIONS ADM_TAB_PARTITIONS视图显示数据库中所有分区的信息。默认只有系统管理员权限才可以访问此系统视图,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 ADM_TAB_PARTITIONS字段 名称 类型 描述 table_owner character varying(64) 角色名称。 table_name character varying(64) 关系表名称。 partition_name character varying(64) 分区名称。 high_value text 分区的边界值。 说明: 对于范围分区和间隔分区,显示各分区的上边界值。 对于列表分区,显示各分区的取值列表。 对于哈希分区,显示各分区的编号。 tablespace_name name 分区表的表空间名称。 schema character varying(64) 名称空间的名称。 subpartition_count bigint 二级分区的个数。 high_value_length integer 分区边界值表达式的长度。 父主题: 系统视图
  • _PG_FOREIGN_DATA_WRAPPERS 显示外部数据封装器的信息。该视图只有sysadmin权限可以查看。 表1 _PG_FOREIGN_DATA_WRAPPERS字段 名称 类型 描述 oid oid 外部数据封装器的OID。 fdwowner oid 外部数据封装器的所有者的OID。 fdwoptions text[] 外部数据封装器指定选项,使用“keyword=value”格式的字符串。 foreign_data_wrapper_catalog information_schema.sql_identifier 外部封装器所在的数据库名称(永远为当前数据库)。 foreign_data_wrapper_name information_schema.sql_identifier 外部数据封装器名称。 authorization_identifier information_schema.sql_identifier 外部数据封装器所有者的角色名称。 foreign_data_wrapper_language information_schema.character_data 外部数据封装器的实现语言。 父主题: Information Schema
  • 开发规范 如果用户在APP的开发中,使用了连接池机制,那么需要遵循如下规范: 如果在连接中设置了GUC参数,那么在将连接归还连接池之前,必须使用“SET SESSION AUTHORIZATION DEFAULT;RESET ALL;”将连接的状态清空。 如果使用了临时表,那么在将连接归还连接池之前,必须将临时表删除。 否则,连接池里面的连接就是有状态的,会对用户后续使用连接池进行操作的正确性带来影响。 应用程序开发驱动兼容性说明如表1所示: 表1 兼容性说明 驱动 兼容性说明 JDBC、Go、ODBC、libpq、Psycopg、ecpg 驱动前向兼容数据库,若需使用驱动与数据库同步增加的新特性,须升级数据库。 behavior_compat_options='proc_outparam_override' 重载参数仅在A兼容模式可用。 在多线程环境下使用驱动: JDBC驱动程序不是线程安全的,不保证连接上的方法是同步的。由调用者来同步对驱动程序的调用。 父主题: 应用程序开发教程
共100000条
提示

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