华为云用户手册

  • PGXC_COMM_STATUS PGXC_COMM_STATUS视图展示所有DN的通信库状态。 表1 PGXC_COMM_STATUS字段 名称 类型 描述 node_name text 节点名称。 rxpck_rate integer 节点通信库接收速率,单位Byte/s。 txpck_rate integer 节点通信库发送速率,单位Byte/s。 rxkbyte_rate bigint bigint节点通信库接收速率,单位KByte/s。 txkbyte_rate bigint bigint节点通信库发送速率,单位KByte/s。 buffer bigint cmailbox的buffer大小。 memkbyte_libcomm bigint libcomm进程通信内存大小,单位Byte。 memkbyte_libpq bigint libpq进程通信内存大小,单位Byte。 used_pm integer postmaster线程实时使用率。 used_sflow integer gs_sender_flow_controller线程实时使用率。 used_rflow integer gs_receiver_flow_controller线程实时使用率。 used_rloop integer 多个gs_receivers_loop线程中高的实时使用率。 stream integer 当前使用的逻辑连接总数。 父主题: 系统视图
  • Load Profile Load Profile指标名称及描述如下表所示。 表1 Load Profile报表主要内容 指标名称 描述 DB Time(us) 作业运行的elapse time总和。 CPU Time(us) 作业运行的CPU时间总和。 Redo size(blocks) 产生的WAL的大小(块数)。 Logical read (blocks) 表或者索引文件的逻辑读(块数)。 Physical read (blocks) 表或者索引的物理读(块数)。 Physical write (blocks) 表或者索引的物理写(块数)。 Read IO requests 表或者索引的读次数。 Write IO requests 表或者索引的写次数。 Read IO (MB) 表或者索引的读大小(MB)。 Write IO (MB) 表或者索引的写大小(MB)。 Logons 登录次数。 Executes (SQL) SQL执行次数。 Rollbacks 回滚事务数。 Transactions 事务数。 SQL response time P95(us) 95%的SQL的响应时间。 SQL response time P80(us) 80%的SQL的响应时间。 父主题: WDR报告信息介绍
  • 加载驱动 在创建数据库连接之前,需要先加载数据库驱动程序。 加载驱动有两种方法: 在代码中创建连接之前任意位置隐含装载:Class.forName("org.postgresql.Driver"); 在JVM启动时参数传递:java -Djdbc.drivers=org.postgresql.Driver jdbctest 上述jdbctest为测试用例程序的名称。 当使用opengaussjdbc.jar时,上面的Driver类名相应修改为“com.huawei.opengauss.jdbc.Driver”。 父主题: 基于JDBC开发
  • PG_STATIO_USER_SEQUEN CES PG_STATIO_USER_SEQUENCES视图显示命名空间中所有用户关系表序列的I/O状态信息。 表1 PG_STATIO_USER_SEQUENCES字段 名称 类型 描述 relid oid 序列OID。 schemaname name 序列中模式名。 relname name 序列名。 blks_read bigint 从序列中读取的磁盘块数。 blks_hit bigint 序列命中缓存数。 父主题: 系统视图
  • 语法格式 1 2 CREATE GROUP group_name [ [ WITH ] option [ ... ] ] [ ENCRYPTED | UNENCRYPTED ] { PASSWORD | IDENTIFIED BY } { 'password' [ EXPIRED ] | DISABLE }; 其中可选项action子句语法为: 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 {SYSADMIN | NOSYSADMIN} | {MONADMIN | NOMONADMIN} | {OPRADMIN | NOOPRADMIN} | {POLADMIN | NOPOLADMIN} | {AUDITADMIN | NOAUDITADMIN} | {CREATEDB | NOCREATEDB} | {USEFT | NOUSEFT} | {CREATEROLE | NOCREATEROLE} | {INHERIT | NOINHERIT} | { LOG IN | NOLOGIN} | {REPLICATION | NOREPLICATION} | {VCADMIN | NOVCADMIN} | {PERSISTENCE | NOPERSISTENCE} | CONNECTION LIMIT connlimit | VALID BEGIN 'timestamp' | VALID UNTIL 'timestamp' | USER GROUP 'groupuser' | PERM SPACE 'spacelimit' | NODE GROUP logic_group_name | IN ROLE role_name [, ...] | IN GROUP role_name [, ...] | ROLE role_name [, ...] | ADMIN role_name [, ...] | USER role_name [, ...] | SYSID uid | DEFAULT TABLESPACE tablespace_name | PROFILE DEFAULT | PROFILE profile_name | PGUSER
  • 扩展函数 下表列举了 GaussDB 中支持的扩展函数,不作为商用特性交付,仅供参考。 分类 函数名称 描述 触发器函数 pg_get_triggerdef(trigger_oid) 为触发器获取CREATE [ CONSTRAINT ] TRIGGER命令 pg_get_triggerdef(trigger_oid, pretty_bool) 为触发器获取CREATE [ CONSTRAINT ] TRIGGER命令 父主题: 附录
  • PG_POOLER_STATUS PG_POOLER_STATUS视图查询pooler中的缓存连接状态。 表1 PG_POOLER_STATUS字段 名称 类型 描述 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):表示连接没有使用。 node_port integer 连接的实例节点端口号。 fdsock bigint 对端socket。 remote_pid bigint 对端线程号。 session_params text 由此连接下发的GUC session参数。 used_count bigint 该连接的复用次数。 idx bigint 连接的实例节点逻辑连接id。 streamid bigint 每个逻辑连接对应的流标识id。 PG_POOLER_STATUS只能在CN上执行查询,显示本地CN的pooler模块的连接缓存信息。 父主题: 系统视图
  • 获取驱动包 单击此处获取GaussDB驱动包“GaussDB_driver.zip”。 单击此处获取GaussDB驱动包校验包“GaussDB_driver.zip.sha256”。 为了防止软件包在传递过程或存储期间被恶意篡改,下载软件包时需下载对应的校验包对软件包进行校验,校验方法如下: 上传软件包和软件包校验包到虚拟机(Linux操作系统)的同一目录下。 执行如下命令,校验软件包完整性。 cat GaussDB_driver.zip.sha256 | sha256sum --check 如果回显OK,则校验通过。 GaussDB_driver.zip: OK
  • PG_OPFAMILY PG_OPFAMILY系统表定义操作符族。 每个操作符族是一个操作符和相关支持例程的集合,其中的例程实现为一个特定的索引访问方式指定的语义。另外,族中的操作符都是“兼容的”,通过由访问方式指定的方法。操作符族的概念允许交叉数据类型操作符和索引一起使用,并且合理的使用访问方式的语义的知识。 表1 PG_OPFAMILY字段 名称 类型 引用 描述 oid oid - 行标识符(隐含字段,必须明确选择)。 opfmethod oid PG_AM.oid 操作符族使用的索引方法。 opfname name - 这个操作符族的名称。 opfnamespace oid PG_NAMESPACE.oid 这个操作符的名称空间。 opfowner oid PG_AUTHID.oid 操作符族的所有者。 定义一个操作符族的大多数信息不在它的PG_OPFAMILY行里面,而是在相关的行PG_AMOP,PG_AMPROC和PG_OPCLASS里。 父主题: 系统表
  • aclitem类型 aclitem数据类型是用来存储对象权限信息的,它的内部实现是int类型,支持的格式为‘user1=privs/user2’。 aclitem[]数据类型为aclitem组成的数组,支持的格式为‘{user1=privs1/user3,user2=privs2/user3}’。 其中user1,user2和user3为数据库中已存在的用户/角色名,privs为数据库中支持的权限(参见表2)。 示例: --创建相应用户。 openGauss=# CREATE USER user1 WITH PASSWORD 'Aa123456789'; openGauss=# CREATE USER user2 WITH PASSWORD 'Aa123456789'; openGauss=# CREATE USER omm WITH PASSWORD 'Aa123456789'; --新建一张数据表table_acl,有三个字段,类型分别为int、aclitem、aclitem[]。 openGauss=# CREATE TABLE table_acl (id int,priv aclitem,privs aclitem[]); --向数据表table_acl插入一条内容为(1,'user1=arw/omm','{omm=d/user2,omm=w/omm}')的数据。 openGauss=# INSERT INTO table_acl VALUES (1,'user1=arw/omm','{omm=d/user2,omm=w/omm}'); --向数据表table_acl再插入一条内容为(2,'user1=aw/omm','{omm=d/user2}')的数据。 openGauss=# INSERT INTO table_acl VALUES (2,'user1=aw/omm','{omm=d/user2}'); openGauss=# SELECT * FROM table_acl; id | priv | privs ----+---------------+------------------------- 1 | user1=arw/omm | {omm=d/user2,omm=w/omm} 2 | user1=aw/omm | {omm=d/user2} (2 rows) --删除表和用户。 openGauss=# DROP USER user1; openGauss=# DROP USER user2; openGauss=# DROP USER omm; openGauss=# DROP TABLE table_acl; 父主题: 数据类型
  • PG_TRIGGER PG_TRIGGER系统表存储触发器信息。 表1 PG_TRIGGER字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 tgrelid oid 触发器所在表的OID。 tgname name 触发器名。 tgfoid oid 要被触发器调用的函数。 tgtype smallint 触发器类型。 tgenabled "char" O =触发器在“origin”和“local”模式下触发。 D =触发器被禁用。 R =触发器在“replica”模式下触发。 A =触发器始终触发。 tgisinternal boolean 内部触发器标识,如果为true表示内部触发器。 tgconstrrelid oid 完整性约束引用的表。 tgconstrindid oid 完整性约束的索引。 tgconstraint oid 约束触发器在pg_constraint中的OID。 tgdeferrable boolean 约束触发器是为DEFERRABLE类型。 t(true):表示是。 f(false):表示不是。 tginitdeferred boolean 约束触发器是否为INITIALLY DEFERRED类型。 t(true):表示是。 f(false):表示不是。 tgnargs smallint 触发器函数入参个数。 tgattr int2vector 当触发器指定列时的列号,未指定则为空数组。 tgargs bytea 传递给触发器的参数。 tgqual pg_node_tree 表示触发器的WHEN条件,如果没有则为null。 tgowner oid 触发器所有者 父主题: 系统表
  • TRANSACTIONS_RUNNING_XA CTS 显示当前节点运行事务的信息。 表1 TRANSACTIONS_RUNNING_XACTS字段 名称 类型 描述 handle integer 事务在GTM对应的句柄。 gxid xid 事务id号。 state tinyint 事务状态(3:prepared或者0:starting)。 node text 节点名称。 xmin xid 节点上当前数据涉及的最小事务号xmin。 vacuum boolean 标志当前事务是否是lazy vacuum事务(lazy vacuum是一种vacuum机制,在需要时进行vacuum)。 true:表示是。 false:表示否。 timeline bigint 标志数据库重启次数。 prepare_xid xid 处于prepared状态的事务的id号,若不在prepared状态,值为0。 pid bigint 事务对应的线程id。 next_xid xid CN传给DN的事务id号。 父主题: Transaction
  • ADM_TRIGGERS ADM_TRIGGERS视图显示数据库中触发器的信息。默认只有系统管理员权限才可以访问此系统表,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 ADM_TRIGGERS字段 名称 类型 描述 trigger_name character varying(64) 触发器名称。 table_owner character varying(64) 角色名称。 table_name character varying(64) 关系表名称。 status character varying(64) O:触发器在“origin”和“local”模式下触发。 D:触发器被禁用。 R:触发器在“replica”模式下触发。 A:触发器始终触发。 父主题: 系统视图
  • GLOBAL_STAT_USER_TABLES 显示各节点所有命名空间中用户自定义普通表的状态信息。 表1 GLOBAL_STAT_USER_TABLES字段 名称 类型 描述 node_name name 节点名称。 relid oid 表的OID。 schemaname name 该表的模式名。 relname name 表名。 seq_scan bigint 该表发起的顺序扫描数。 seq_tup_read bigint 顺序扫描抓取的活跃行数。 idx_scan bigint 该表发起的索引扫描数。 idx_tup_fetch bigint 索引扫描抓取的活跃行数。 n_tup_ins bigint 插入行数。 n_tup_upd bigint 更新行数。 n_tup_del bigint 删除行数。 n_tup_hot_upd bigint HOT更新行数(即没有更新所需的单独索引)。 n_live_tup bigint 估计活跃行数。 n_dead_tup bigint 估计死行数。 last_vacuum timestamp with time zone 最后一次该表是手动清理的(不计算VACUUM FULL)时间。 last_autovacuum timestamp with time zone 上次被autovacuum守护进程清理的时间。 last_analyze timestamp with time zone 上次手动分析该表的时间。 last_autoanalyze timestamp with time zone 上次被autovacuum守护进程分析的时间。 vacuum_count bigint 该表被手动清理的次数(不计算VACUUM FULL)。 autovacuum_count bigint 该表被autovacuum清理的次数。 analyze_count bigint 该表被手动分析的次数。 autoanalyze_count bigint 该表被autovacuum守护进程分析的次数。 父主题: Object
  • 背景信息 ANALYZE语句可收集与数据库中表内容相关的统计信息,统计结果存储在系统表PG_STATISTIC中。查询优化器会使用这些统计数据,以生成最有效的执行计划。 建议在执行了大批量插入/删除操作后,例行对表或全库执行ANALYZE语句更新统计信息。目前默认收集统计信息的采样比例是30000行(即:guc参数default_statistics_target默认设置为100),如果表的总行数超过一定行数(大于1600000),建议设置guc参数default_statistics_target为-2,即按2%收集样本估算统计信息。 对于在批处理脚本或者存储过程中生成的中间表,也需要在完成数据生成之后显式的调用ANALYZE。
  • log_file_mode 参数说明:logging_collector设置为on时,log_file_mode设置服务器日志文件的权限。在Windows系统下,此选项无效。通常log_file_mode的取值是能够被chmod和umask系统调用接受的数字。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 使用此选项前请设置log_directory,将日志存储到数据目录之外的地方。 因日志文件可能含有敏感数据,故不能将其设为对外可读。 取值范围:整型,0000~0777 (8进制计数,转化为十进制 0 ~ 511)。 0600表示只允许服务器管理员读写日志文件。 0640表示允许管理员所在用户组成员只能读日志文件。 默认值:0600
  • log_rotation_size 参数说明:logging_collector设置为on时,log_rotation_size决定服务器日志文件的最大容量。当日志消息的总量超过日志文件容量时,服务器将生成一个新的日志文件。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0 ~ 2097151,单位为KB。 0表示关闭基于容量的新日志文件的创建。 默认值:20MB
  • log_truncate_on_rotation 参数说明:logging_collector设置为on时,log_truncate_on_rotation设置日志消息的写入方式。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 示例如下: 假设日志需要保留7天,每天生成一个日志文件,日志文件名设置为server_log.Mon、server_log.Tue等。第二周的周二生成的日志消息会覆盖写入到server_log.Tue。设置方法:将log_filename设置为server_log.%a ,log_truncate_on_rotation设置为on,log_rotation_age设置为1440,即日志有效时间为1天。 取值范围: 布尔型 on表示GaussDB以覆盖写入的方式写服务器日志消息。 off表示GaussDB将日志消息附加到同名的现有日志文件上。 默认值:off
  • log_rotation_age 参数说明:logging_collector设置为on时,log_rotation_age决定创建一个新日志文件的时间间隔。当现在的时间减去上次创建一个服务器日志的时间超过了log_rotation_age的值时,将生成一个新的日志文件。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0 ~ 35791394,单位为min。其中0表示关闭基于时间的新日志文件的创建。 默认值:1d(即1440min)
  • log_destination 参数说明:GaussDB支持多种方法记录服务器日志,log_destination的取值为一个逗号分隔开的列表(如log_destination="stderr,csvlog")。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 有效值为stderr、csvlog、syslog、eventlog。 取值为stderr,表示日志打印到屏幕。 取值为csvlog,表示日志的输出格式为“逗号分隔值”即 CS V (Comma Separated Value)格式。使用csvlog记录日志的前提是将logging_collector设置为on,请参见使用CSV格式写日志。 取值为syslog,表示通过操作系统的syslog记录日志。 GaussDB使用 syslog的LOCAL0 ~ LOCAL7记录日志,请参见syslog_facility。使用syslog记录日志需在操作系统后台服务配置文件中添加代码: 1 local0.* /var/log/postgresql 默认值:stderr
  • log_directory 参数说明:logging_collector设置为on时,log_directory决定存放服务器日志文件的目录。它可以是绝对路径,或者是相对路径(相对于数据目录的路径)。log_directory支持动态修改,可以通过gs_guc reload实现,仅sysadmin用户可以访问。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 当配置文件中log_directory的值为非法路径时,会导致集群无法重新启动。 通过gs_guc reload动态修改log_directory时,当指定路径为合法路径时,日志输出到新的路径下。当指定路径为非法路径时,日志输出到上一次合法的日志输出路径下而不影响数据库正常运行。此时即使指定的log_directory的值非法,也会写入到配置文件中。 在沙箱环境,路径中不可以包含/var/chroot,例如log的绝对路径是/var/chroot/var/lib/log/Ruby/pg_log/cn_log,则只需要设置为/var/lib/log/Ruby/pg_log/cn_log。 合法路径:用户对此路径有读写权限。 非法路径:用户对此路径无读写权限。 取值范围:字符串 默认值:安装时指定
  • log_filename 参数说明:logging_collector设置为on时,log_filename决定服务器运行日志文件的名称。通常日志文件名是按照strftime模式生成,因此可以用系统时间定义日志文件名,用%转义字符实现,仅sysadmin用户可以访问。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 建议使用%转义字符定义日志文件名称,否则难以对日志文件进行有效的管理。 当log_destination设为csvlog时,系统会生成附加了时间戳的日志文件名,文件格式为csv格式,例如“server_log.1093827753.csv”。 取值范围:字符串 默认值:postgresql-%Y-%m-%d_%H%M%S.log
  • logging_collector 参数说明:控制开启后端日志收集进程logger进行日志收集。该进程捕获发送到stderr或csvlog的日志消息并写入日志文件。 这种记录日志的方法比将日志记录到syslog更加有效,因为某些类型的消息在syslog的输出中无法显示。例如动态链接库加载失败消息和脚本产生的错误消息。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 将服务器日志发送到stderr时可以不使用logging_collector参数,此时日志消息会被发送到服务器的stderr指向的空间。这种方法的缺点是日志回滚困难,只适用于较小的日志容量。 取值范围:布尔型 on表示开启日志收集功能。 off表示关闭日志收集功能。 默认值:on
  • GS_GSC_MEMORY_DETAIL GS_GSC_MEMORY_DETAIL视图显示当前节点当前进程的全局SysCache的内存占用情况。仅在开启GSC的模式下有数据。 需要注意的是,由于这个查询是以数据库内存上下文分隔的,因此会缺少一部分内存的统计,缺失的内存统计对应的内存上下文名称为GlobalSysDBCache。 表1 GS_GSC_MEMORY_DETAIL字段 名称 类型 描述 db_id text 数据库id。 totalsize numeric 共享内存总大小,单位Byte。 freesize numeric 共享内存剩余大小,单位Byte。 usedsize numeric 共享内存使用大小,单位Byte。 父主题: 系统视图
  • MEMORY_NODE_NG_DETAIL nodegroup内存使用情况。 表1 MEMORY_NODE_NG_DETAIL字段 名称 类型 描述 ngname text node group名称。 memorytype text 内存使用的名称: ng_total_memory:node group中设置的总内存。 ng_used_memory:已经用的内存。 ng_estimate_memory:优化器评估已经用的内存。 ng_foreignrp_memsize:外部资源池设置的内存大小。 ng_foreignrp_usedsize:外部资源池当前已用内存。 ng_foreignrp_peaksize:外部资源池已使用的内存峰值。 ng_foreignrp_mempct:外部资源池属性中设置的占用系统总内存的百分比。 ng_foreignrp_estmsize:外部资源池执行作业优化器评估的内存使用。 memorymbytes integer 内存使用的大小,单位为MB。 父主题: Memory
  • bgwriter_flush_after 参数说明:设置background writer线程刷页个数超过设定的阈值时,告知操作系统开始将操作系统缓存中的页面异步刷盘。GaussDB中,磁盘页大小为8KB。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~256(0表示关闭异步刷盘功能),单位页面(8K)。例如,取值64,表示background writer线程连续写64个磁盘页,即64*8=512KB磁盘空间后会进行异步刷盘。 默认值:512KB(即64个页面)
  • backend_flush_after 参数说明:设置backend线程刷页个数超过设定的阈值时,告知操作系统开始将操作系统缓存中的页面异步刷盘。GaussDB中,磁盘页大小为8KB。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~256(0表示关闭异步刷盘功能)。例如,取值64,表示backend线程连续写64个磁盘页,即64*8=512KB磁盘空间后会进行异步刷盘。 默认值:0
  • checkpoint_flush_after 参数说明:设置checkpointer线程刷页个数超过设定的阈值时,告知操作系统开始将操作系统缓存中的页面异步刷盘。GaussDB中,磁盘页大小为8KB。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~256(0表示关闭异步刷盘功能),单位页面(8K)。例如,取值32,表示checkpointer线程连续写32个磁盘页,即32*8=256KB磁盘空间后会进行异步刷盘。 默认值:256KB(即32个页面)
  • PGXC_GET_STAT_ALL_TABLES PGXC_GET_STAT_ALL_TABLES视图显示各表的插入、更新、删除以及脏页率信息。对于高脏页率的系统表,建议在确认当前没有人操作该系统表时,再执行VACUUM FULL。此视图为GaussDB新增功能,升级到该版本后,升级前的插入、更新、删除信息不会被统计。建议对脏页率超过30%的非系统表执行VACUUM FULL,用户也可根据业务场景自行选择是否执行VACUUM FULL。该视图只有system admin和monitor admin用户有权限查看。 表1 PGXC_GET_STAT_ALL_TABLES字段 名称 类型 描述 relid oid 表的oid。 relname name 表名。 schemaname name 表的模式名。 n_tup_ins numeric 插入的元组条数。 n_tup_upd numeric 更新的元组条数。 n_tup_del numeric 删除的元组条数。 n_live_tup numeric 存活元组的条数。 n_dead_tup numeric 死亡元组的条数。 dirty_page_rate numeric(5,2) 表的脏页率信息(%)。 父主题: 系统视图
  • 三权分立 默认权限机制和管理员两节的描述基于的是集群创建之初的默认情况。从前面的介绍可以看出,默认情况下拥有SYSADMIN属性的系统管理员,具备系统最高权限。 在实际业务管理中,为了避免系统管理员拥有过度集中的权利带来高风险,可以设置三权分立,将系统管理员的用户管理和审计管理的权限分别分给安全管理员和审计管理员。 三权分立后,系统管理员将不再具有CREATEROLE属性(安全管理员)和AUDITADMIN属性(审计管理员)能力,即不再拥有创建角色和用户的权限,也不再拥有查看和维护数据库审计日志的权限。关于CREATEROLE属性和AUDITADMIN属性的更多信息请参考CREATE ROLE。 初始用户的权限不受三权分立设置影响。因此建议仅将此初始用户作为DBA管理用途,而非业务应用。 三权分立的设置办法为:将GUC参数enableSeparationOfDuty设置为on。 如需使用三权分立权限管理模型,应在数据库初始化阶段指定,不建议来回切换权限管理模型。特别的,如需从非三权分立权限管理模型切换至三权分立权限管理模型,应重新审视已有用户的权限集合。如用户具备系统管理员权限和审计管理员权限,则需要进行权限裁剪。 三权分立后,系统管理员对其他用户的非系统模式不再具有权限,因此在未被授予其他用户模式的权限前,也不能访问放在其他用户模式下的对象。三权分立前的权限详情及三权分立后的权限变化,请分别参见表1和表2。 表1 默认的用户权限 对象名称 初始用户(id为10) 系统管理员 安全管理员 审计管理员 普通用户 表空间 具有所有的权限。 对表空间有创建、修改、删除、访问、分配操作的权限。 不具有对表空间进行创建、修改、删除、分配的权限,访问需要被赋权。 模式 对除dbe_perf以外的所有模式有所有的权限。 对自己的模式有所有的权限,对其他用户的非系统模式无权限。 自定义函数 对所有用户自定义函数有所有的权限。 对自己的函数有所有的权限,对其他用户的函数仅有调用权限。 自定义表或视图 对所有用户自定义表或视图有所有的权限。 对自己的表或视图有所有的权限,对其他用户的表或视图无权限。 表2 三权分立较非三权分立权限变化说明 对象名称 初始用户(id为10) 系统管理员 安全管理员 审计管理员 普通用户 表空间 无变化。 依然具有所有的权限。 无变化 无变化 模式 权限缩小。 对自己的模式有所有的权限,对其他用户的非系统模式无权限。 无变化 自定义函数 在未被授予其他用户的非系统模式的权限前,不能访问放在其他用户模式下的函数。 无变化 自定义表或视图 在未被授予其他用户的非系统模式的权限前,不能访问放在其他用户模式下的表或视图。 无变化 PG_STATISTIC系统表和PG_STATISTIC_EXT系统表存储了统计对象的一些敏感信息,如高频值MCV。进行三权分立后系统管理员仍可以通过访问这两张系统表,获取统计信息里的敏感信息。 父主题: 用户及权限
共100000条