云服务器内容精选
-
GUC参数 表7 GUC参数 变更类型 序号 名称 变更描述 新增 1 max_queue_statements 默认为-1,标识最大排队长度,当作业排队超过该值时报错退出。对于新装和升级集群该参数不生效。 2 job_retention_time 标识pg_job执行结果最长保存天数,默认为30。 3 vector_engine_strategy 控制向量化算子的策略,默认为improve,表示尽可能将计划向量化;可设置为force,表示强制回退为行存计划。 4 enable_release_scan_lock 控制SELECT语句是否在语句执行结束后将一级锁释放。默认关闭。 5 job_queue_naptime 设置触发调度任务检查的时间间隔及任务线程启动的超时时间,默认1s。 6 approx_count_distinct_precision 该参数表示HyperLogLog++ (HLL++)算法中分桶个数,可以用来调整approx_count_distinct聚集函数的误差率。桶的个数会影响distinct值估算的精度,桶的个数越多,误差越小。默认值17。 7 llvm_compile_expr_limit 限制LLVM表达式最大编译个数。 8 llvm_compile_time_limit LLVM编译时间在执行器运行时间中的占比超过llvm_compile_time_limit所设置的阈值,说明LLVM编译时间占比过高,生成告警提示。 9 max_opt_sort_rows 控制order by子句中最大优化的limit+offset行数。如果超过这一行数,走原逻辑,小于这个行数走优化后逻辑。默认设为0,即默认走原逻辑。 10 dfs_max_memory 设置orc导出时能占用的最大内存。默认值262144KB。 11 default_partition_cache_strategy 控制分区缓存的默认策略。 12 enable_connect_standby 设置CN是否连接DN备机。仅适用于运维操作。 13 enable_stream_sync_quit 设置stream计划结束时,stream线程是否同步退出。默认关闭,实现sync quit不阻塞。 14 full_group_by_mode 用于控制disable_full_group_by_mysql语法开关打开后的两种不同行为: nullpadding表示对于非聚集列而言,对该列NULL值进行填充,取该列非NULL值,结果集可能为不同行。 notpadding表示对于非聚集列而言,不处理NULL值,取该行整行数据,非聚集列结果集为随机的一行。 修改 15 behavior_compat_options 新增选项alter_distribute_key_by_partition,控制ALTER TABLE修改分区表分布列时INSERT INTO是否按分区执行。 16 behavior_compat_options 新增选项enable_full_string_agg,控制string_agg(a, delimiter) over (partition by b order by c)场景行为,采用窗口内的全量聚合逻辑还是增量聚合逻辑。 17 behavior_compat_options 新增选项unsupported_set_function_case,控制是否支持case when条件中含有返回为多结果集函数。 18 behavior_compat_options 新增选项enable_unknown_datatype。在未设置时,不允许用户创建存在unknown类型列的表。 19 behavior_compat_options 新增选项enable_whole_row_var。针对使用表名做表达式场景(SELECT T FROM T,或SELECT .... FROM T GROUP BY T),未设置enable_whole_row_var选项时,在parse阶段,对该类场景进行拦截,报错处理。 20 time_track_strategy 参数由USERSET级别修改为SIGHUP级别,内核层面默认修改为timer,可以通过管理控制台设置为tsc。 21 rewrite_rule 控制在重写时是否走case when改写。
-
系统函数 表5 系统函数 变更类型 序号 名称 变更描述 新增 1 dbms_job.submit_node 新增dbms_job.submit_node,功能在submit基础上增加job_node,用于指定执行节点,默认null,代表当前CN节点。 2 dbms_job.change_node 新增dbms_job.change_node用于指定执行节点,默认null,代表当前CN节点。 3 漏斗函数 新增漏斗函数windowfunnel。 4 留存函数 新增留存函数retention。 5 留存扩展函数 新增留存扩展函数range_retention_count。 6 留存扩展函数 新增留存扩展函数range_retention_sum。 7 approx_count_distinct 新增近似计算聚集函数。 8 pg_scan_residualfiles 扫描当前节点当前库中所有符合特征的残留文件。 9 pgxc_scan_residualfiles 扫描多个节点当前库中所有符合特征的残留文件。 10 pg_get_scan_residualfiles 获取当前节点扫描到的残留文件列表。 11 pgxc_get_scan_residualfiles 获取多个节点上扫描到的残留文件列表。 12 pg_archive_scan_residualfiles 归档当前节点扫描的残留文件列表。 13 pgxc_archive_scan_residualfiles 归档多个节点上扫描的残留文件列表。 14 pg_rm_scan_residualfiles_archive 删除当前节点所有残留文件归档。 15 pgxc_rm_scan_residualfiles_archive 删除多个节点上所有残留文件归档。 16 pg_partition_management_time 修改自增分区任务调用时间。 17 uniq 辅助完成精准去重等对数据的uv计算。 18 reload_cold_partition 冷热表冷分区转热。 修改 19 pgxc_get_small_cu_info 增加可以查询二级分区每个分区cu数量的功能。 20 pgxc_get_wlm_session_info_bytime 增加parse_time字段。 删除 21 pg_sync_cstore_delta(text) 废弃系统函数日落。 22 pg_sync_cstore_delta 废弃系统函数日落。 23 pgxc_pool_check 废弃系统函数日落。 24 pg_delete_audit 废弃系统函数日落。 25 pg_log_comm_status 废弃系统函数日落。 26 pgxc_log_comm_status 废弃系统函数日落。 27 signal_backend 废弃系统函数日落。 28 pg_stat_get_realtime_info_internal 废弃系统函数日落。 29 pg_stat_get_wlm_session_info_internal 废弃系统函数日落。 30 pg_stat_get_wlm_session_info 废弃系统函数日落。 31 pg_stat_get_wlm_statistics 废弃系统函数日落。 32 pg_user_iostat 废弃系统函数日落。 33 pg_stat_get_wlm_session_iostat_info 废弃系统函数日落。
-
系统视图 表6 系统视图 变更类型 序号 名称 变更描述 新增 1 pgxc_memory_debug_info 显示当前集群每个节点在执行作业时的内存报错信息,便于定位内存报错问题。 修改 2 pgxc_stat_object 跟随pg_stat_object一起更改,预留字段extra1改名为last_autovacuum_csn。 3 gs_wlm_session_statistics 增加parse_time字段。 4 pgxc_wlm_session_statistics 增加parse_time字段。 5 gs_wlm_session_history 增加parse_time字段。 6 pgxc_wlm_session_history 增加parse_time字段。 7 gs_wlm_session_info 增加parse_time字段。 8 information_schema.tables 修改视图定义,改变筛选条件,使reloptions为空的视图可以查到。 9 gs_table_stat 优化gs_table_stat视图查询性能。 10 gs_row_table_io_stat 等价逻辑改写查询性能优化。 11 gs_column_table_io_stat 等价逻辑改写查询性能优化。 删除 12 gs_wlm_session_info_all 废弃系统视图日落。 13 pg_wlm_statistics 废弃系统视图日落。 14 pg_session_iostat 废弃系统视图日落。
-
行为变更 表2 行为变更 变更类型 序号 名称 变更描述 删除 1 policy_oid 原policy_oid字段在升级到8.3.0版本时字段为NULL,现改为在升级阶段通过脚本对policy_oid字段填充对应的policy_oid。 修改 2 gs_dump gs_dump会带上索引的unusable状态。 3 pg_get_tabledef pg_get_tabledef会带上索引的unusable状态。 4 pg_get_indexdef pg_get_indexdef会带上索引的unusable状态。 5 create table like including复制的索引会带上源索引的unusable状态。
-
版本收编策略 表2 版本收编 当前版本 是否EOS 收编建议 升级方案 1.5.x/1.6.x 是 不支持直接升级,建议迁移到8.1.3.336(推荐版本)。 建议联系技术支持评估后操作。 1.7.x 是 建议升级到8.1.3.336(推荐版本)。 不支持跨多版本直接升级到8.1.3.336,需要多跳升级,建议联系技术支持评估后升级。 8.0.1.x 否 建议升级到8.1.3.336(推荐版本)。 不支持跨多版本直接升级到8.1.3.336,需要多跳升级,建议联系技术支持评估后升级。 8.1.0.x 否 建议升级到8.1.3.336(推荐版本)。 不支持跨多版本直接升级到8.1.3.336,需要多跳升级,建议联系技术支持评估后升级。 8.1.1.x~8.1.3.323 否 建议升级到8.1.3.336(推荐版本)。 支持直接升级到8.1.3.336,建议联系技术支持评估后升级,支持在控制台升级,参见升级集群。 8.2.0.x(白名单用户版本) 否 建议升级到8.3.0.110。 支持直接升级到8.3.0.110,建议联系技术支持评估后升级,支持在控制台升级,参见升级集群。 8.2.1.1xx(白名单用户版本) 否 建议升级到8.3.0.110。 支持直接升级到8.3.0.110,建议联系技术支持评估后升级,支持在控制台升级,参见升级集群。 8.2.1.2xx(白名单用户版本) 否 建议升级到8.3.0.110。 支持直接升级到8.3.0.110,建议联系技术支持评估后升级,支持在控制台升级,参见升级集群。 8.2.1.3xx(白名单用户版本) 否 建议升级到8.3.0.110。 支持直接升级到8.3.0.110,建议联系技术支持评估后升级,支持在控制台升级,参见升级集群。 8.3.0.x 否 建议升级到8.3.0.110。 支持直接升级到8.3.0.110,建议联系技术支持评估后升级,支持在控制台升级,参见升级集群。 9.0.1/9.0.2 否 建议升级到9.1.0.218。 不支持跨多版本直接升级到9.1.0.105,先升级到9.0.3,再升级到9.1.0.218。支持在控制台升级,参见升级集群。 9.0.3/9.1.0.x 否 建议升级到9.1.0.218。 支持直接升级到9.1.0.218,建议联系技术支持评估后升级,支持在控制台升级,参见升级集群。
-
版本生命周期 表1给出了 GaussDB (DWS)版本生命周期(仅体现发布号),帮助您规划自己的版本更新节奏。 对于已经停止服务与支持(EOS)的版本或非推荐版本,建议参见版本收编策略升级到最新稳定版本。 表1 GaussDB(DWS)版本生命周期 版本名称 状态 发布时间 EOM时间(停止销售) EOS时间(停止服务与支持) 9.1.0.x 已发布 2024年7月30日 2027年6月30日 2028年12月30日 9.0.x 已发布 2023年9月30日 2025年6月30日 2026年6月30日 8.3.0.x 已发布 2024年3月30日 2026年3月30日 2027年3月30日 8.2.1.x 已发布 2023年5月30日 2026年6月30日 2027年12月30日 8.2.0.x 已发布 2022年11月30日 2025年9月30日 2027年3月30日 8.1.3.x 已发布 2022年3月30日 2025年3月30日 EOS时间延期,时间待评估 8.1.1.x EOM 2021年7月30日 2023年6月30日 2025年12月31日 8.1.0.x EOM 2021年5月15日 2023年6月30日 2025年12月31日 8.0.1.x EOS 2020年3月16日 2022年12月31日 2024年12月31日
-
9.1.0.100版本(2024年8月12日) 【弹性架构】 架构升级:基于华为云 对象存储服务 OBS,推出存算分离架构3.0,计算、存储分层弹性,存储按需收费,降本增效;计算支持多VW(Virtual Warehouse,逻辑集群,以下简称VW)部署,业务隔离性更好,解决业务间的资源争抢问题。 推出弹性VW特性,弹性VW完全无状态,支持读写加速,灵活应对并发处理能力不足、业务波峰波谷不均衡、数据加载和数据分析资源争抢等问题,详情参见弹性增删逻辑集群。 增删DN节点,支持弹性扩容和经典扩容,弹性扩容不会对OBS上的数据进行重分布,经典扩容会重分布所有数据,系统会根据bucket总数和DN数目,自动决定采用何种扩容方式。 存算分离架构(DWS 3.0)通过磁盘缓存和IO异步读写提升性能,在磁盘缓存全命中时,持平存算一体架构(DWS 2.0)。 图1 存算分离架构
-
9.1.0.212补丁(2025年1月) 该版本为补丁版本,主要修复已知问题。 【实时数仓】 修复date类型查询下推在MySQL兼容模式下的结果集问题。 修复limit为null或者all时,结果集错误问题。 修复统计信息错误重置,导致auto vacuum无法触发,影响空间无法及时回收的问题。 修复物化视图刷新和DDL并发的死锁问题。 修复冷热表扩容重分布异常后,手工删除临时表导致误清理原表数据的问题。 修复冷热表扩容的本地磁盘空间上涨问题。 【湖仓一体】 外表访问OBS,支持路径中带有特殊字符';' 优化parquet外表查询的任务分配,提升磁盘缓存命中率。 【备份恢复】 修复备份恢复可能残留中间状态文件,占用磁盘空间的问题。 修复弹性VW存在的情况下,备份失败问题。 备份恢复支持冷热表,备份恢复时间会变长。 【生态兼容】 修复PostGIS插件可能存在的创建失败问题。 【运维提升】 修复SQL监控指标采集不完整问题。 修复从备内存泄露问题。 修复智能运维未按时启动的问题。 修复drop database失败残留,导致调度器无法正常调度的问题。 修复高并发下,通信内存占用过高的问题。 修复异常情况下,GTM上残留sequence导致的性能问题。 【行为变更】 为避免复杂SQL执行可能报错,升级/新装会关闭谓词列analyze特性。 表定义包含sequence列的场景下,执行drop table操作时,如果与GTM的网络连接有问题,上一个版本会报warning,drop table可执行成功,但可能会导致GTM上sequence残留。新版本drop table会报错,需再次重试。由于DWS支持在事务块中支持drop table,如果drop table语句执行成功,但事务后续回滚,会存在sequence在GTM已经删除,表在CN上仍然存在的问题,需再次主动drop table,否则该表在后续使用时,会报sequence不存在的错误。 truncate和select如果有加锁冲突时,支持truncate主动终止select操作,该特性默认关闭。在打开的情况下,上一个版本被终止的执行select的session会话会报错,但是连接不会关闭,新版本下,执行select的session会话会主动关闭,需业务主动重连。
-
9.1.0.102补丁(2024年9月25日) 该版本为补丁版本,主要修复已知问题。 【升级收编】 支持9.0.3版本升级到9.1.0系列。 【修复已知问题】 存算分离版本支持alter database xxx rename to yyy。 修复存算分离表 \d+ 空间size显示错误问题。 修复备份恢复之后,异步排序未运行的问题。 修复bitmap index列删除后,无法使用Create Table Like语法的问题。 修复Turbo引擎在Group By场景下,hash算法冲突导致的性能回退问题。 调度器对于失败任务的处理行为和8.3.0版本保持一致。 修复故障场景下,pg_stat_object空间膨胀问题。 修复8.3.0升级到9.1.0, DataArts Studio 下发的Vacuum Full作业报错问题。 修复JSON字段计算CPU和内存消耗高问题。 【功能增强】 ORC外表支持zstd压缩格式。 GIS新增支持st_asmvtgeom/st_asmvt/st_squaregrid函数。
-
9.1.0.215补丁(2025年3月) 该版本为补丁版本,主要修复以下问题: 表2 9.1.0.215补丁新增功能/解决问题列表 类别 功能或问题描述 问题原因 问题出现版本 修复建议 新增功能 无。 - - - 解决问题 智能运维调度触发下盘。 智能运维调度器在查询表大小时,通过pgxc_parallel_query函数下发到每个DN执行,而DN查询的结果集包括列存表的cudesc、delta等辅助表,而分区也有子表,且每个分区又有cudesc、delta,导致最终结果集较大。 DN将这些查询结果统一汇总到CN时,结果集太大触发下盘操作,导致查询慢或者磁盘容量冲高等现象。 8.3.0.100 升级到9.1.0.215及以上版本 使用存算分离V3表并关闭DiskCache场景下,偶现进程异常退出。 使用存算分离V3表场景下,如果关闭DiskCache,业务线程在读取OBS对象时申请空间失败的情况下,会触发事务回滚从而概率性导致异常。 9.1.0 节点亚健康(Hang)场景下,CM组件无法下发重启集群命令。 cm_ctl启动集群分为两个阶段: 检查各个节点状态,需要pssh连接到各个节点进行检查。 删除启停文件,需要pssh连接到各个节点进行删除。 SSH命令中参数解析不正确,导致节点故障时检查单个故障节点耗时超过300s,如果有多个节点同时故障则耗时会成倍增加,引发命令无法下发。 8.1.3 使用 数据湖 场景下,如果并发量超高(3000+),会引发CN与DN建连变慢从而导致整体性能变慢。 当前1个文件只会分配给一个DN。但是执行计划中,CN还是会和所有DN都建立连接。在数据湖的场景下,需要支撑单集群3000+并发,这块的开销就会很大。 9.1.0 使用数据湖场景下,如果写入过程字段超长时,会偶现DN进程异常。 数据湖场景下,写入过程中出现字段超长此时会报错,在事务回滚过程中,会调用清理相关逻辑,此时由于部分内存已经被提前释放,导致函数报错,触发DN进程异常退出。 9.1.0 安全漏洞(SQL注入漏洞(CVE-2025-1094))修复。 PostgreSQL漏洞公告 SQL注入漏洞(CVE-2025-1094),识别产品是否涉及该漏洞。 9.1.0 在行列混合场景,NestLoop算子+Stream算子的场景下偶现查询异常的问题。 Nestloop算子下有stream算子,需要先执行inner侧的物化算子。在行存和列存混合场景,在物化算子上有Row Adapter算子,此时造成未执行物化算子,引发Hang操作。 8.3.0.108 通信线程中空闲期检查DN连接造成数据库偶现慢问题。 通信线程(libcomm send proxy线程)在空闲期会遍历所有与其他DN的连接进行检查,单次检查消耗1ms,在大集群上遍历100+连接,可能耗时100ms以上,会阻塞下一个报文的发送,此时在实时性要求比较高的业务场景下会导致业务查询偶现慢。 9.1.0
-
9.1.0.210版本(2024年11月25日) 【存算分离】 支持通过使用explain warmup进行缓存预热,可以把数据预热到本地磁盘缓存的冷端或者热端。 弹性VW功能增强:更灵活的业务分流方式,支持以CN粒度配置业务分流到主VW或者弹性VW。 存算分离表支持insert并行,提升数据加载性能。 存算分离表支持回收站,可以对drop table/partition, truncate table/partition等误操作进行快速闪回。 冷热表支持使用磁盘缓存、异步IO进行性能加速。 【实时数仓】 limit…offset翻页场景性能大幅提升;inlist场景性能大幅提升。 正式商用Binlog特性。 自动分区支持整型和变长类型的时间列。 【湖仓一体】 parquet/orc读写新增对zstd压缩格式的支持。 Create table like支持使用external schema中的表作为like源表。 外表支持并行导出。 【高可用】 存算分离表和冷热表支持增量备份恢复。 通过并行拷贝优化存算分离场景的备份性能。 【生态兼容】 兼容MySQL的replace into语法,interval时间类型。 pg_get_tabledef导出支持字段展示comment。 【运维&稳定性提升】 磁盘使用率高时,支持配置从备数据转储到OBS。 当数据库即将发生只读时,拦截一些发生下盘的语句和产生新表和新物理文件的语句,以此快速回收磁盘空间,保证其它语句执行。 支持审计日志转储到OBS。 新增轻量级锁视图pgxc_lwlocks。 常规锁视图新增锁获取和等待时间戳。 全局死锁检测功能默认打开。 新增vacuum full与select之间的让锁功能。 gs_view_invalid增加失效时间,辅助运维人员清理无效对象。 【规格&约束】 最大支持256个VW,每个VW 最大支持1024个DN。建议VW不超过32个,每个VW不超过128个DN。 OBS存算分离表不支持容灾,不支持细粒度备份恢复。 【行为变更】 升级开启max_process_memory自适应功能,主备均衡模式下,增加DN可用内存。 扩容数据重分布默认开启数据一致性校验,扩容时间会增加10%。 新建Hstore_opt表,默认打开turbo引擎,压缩级别默认为middle。 存算分离表OBS路径默认显示为相对路径。 使用磁盘缓存(diskcache)必须同时打开异步IO参数。 列存表的索引清理时间间隔从1小时调小为10分钟,可以更快速地清理占用的索引空间。 CREATE TABLE和ALTER TABLE不支持将有on update表达式的列设置为分布列。 Parquet数据查询,读取INT96格式保存的Timestamp数据时不再做8小时修正。 max_stream_pool用于控制stream线程池缓存的线程数量,默认值由65525调整至1024,避免空闲线程内存占用过大。 track_activity_query_size参数从动态生效调整为重启生效。 不再支持逻辑复制功能,相关接口调用会报错。
-
9.1.0.218补丁(2025年5月) 该版本为补丁版本,主要修复以下问题: 表1 9.1.0.218补丁新增功能/解决问题列表 类别 功能或问题描述 问题原因 问题出现版本 修复建议 新增功能 无 - - - 解决问题 开启LLVM后,高并发场景存在写锁问题 开启LLVM后,高并发场景下,会因为内存的频繁申请释放触发OS内存回收,回收时会持有mmap写锁,阻塞其他线程的内存申请,影响内存的访问性能 9.1.0.218以前版本 升级到9.1.0.218及以上版本 Hstore表/时序表日落 时序表、列存delta、历史HStore表自9.1.0.218及以上集群版本中功能日落,不再演进,统一用hstore_opt表替代。 - presort执行报错:invalid memory alloc reuqest size runtimefilter预排序过程中错误获取了其他列的ID,导致后续获取的attlen错误,最终造成读数据长度时选择函数错误。 当错误获取的列属性长度(attlen=-1)时,系统误将GBK编码的中文字符用单字节处理函数读取,导致计算出负数字符长度值,内存分配失败 。 9.1.0.210 开启enable_hstore_binlog_table参数后,长时间运行业务,出现备机pg_csnlog文件堆积过大,执行清理后空间未回收 binlog为了阻塞csnlog回收,需要做至少一次vacuum操作, 这个过程中主机上pg_binlog_slots会收集oldestxmin,但是备机不会执行,所以回收csnlog的oldestxmin一直阻塞在0,造成ckp不回收csnlog。 9.1.0.201 ANALYZE内存估算偏差大,导致CCN异常排队 列定义宽度超过1024,实际存储数据很短或空数据时,ANALYZE内存估算宽度比较大。 8.1.3 批量执行upsert后,binlog源表和目标表不同步 全列upsert场景在删除旧的binlog后提前return没有记录新的binlog,导致源表与目标表不同步。 9.1.0.218以前版本 修复容灾集群switchover后,关闭原主集群autovacuum及autoanalyze参数的问题 主集群autovacuum原本是on,执行switchover后,被修改为off,当再次执行switchover切回后,发现autovacuum,autoanaly参数值不符预期。 9.1.0 修复升级场景下enable_orc_cache参数自动修改的问题 低版本集群升级到9.1.0.1及以上集群版本后,enable_orc_cache参数由on会设置为off。 9.1.0.210 升级后报错:stream plan check failed value partition计划变化后,windowagg生成value partition计划上下节点不一致。 8.2.1.225 容灾切换后,主集群业务报错:xlog flush request 容灾集群只有主CN进行备份,全量/增量备份类型(BackupType)会记录在备份集metadata文件,备集群恢复时会读取metadata文件信息来判断是否需要清理CN目录(全量恢复时清理)。由于主备集群CN编号可能存在不一致情况,依赖编号查找可能会无法准确读取BackupType信息,导致全量恢复场景遗漏必要的文件清理,残留文件引发业务运行报错。 9.1.0 Turbo问题加固 未考虑部分非常规场景,(例如多union all及数据类型不一致),查询出现异常。 9.1.0
-
授权 GaussDB(DWS)通过GRANT语法对角色和用户进行授权操作,普通用户如果要访问某张表,如果没有系统管理员dbadmin或者表的owner进行GRANT授权,是无法访问的,此默认机制有效地控制用户对数据的访问,防止数据泄露。 使用GRANT命令进行用户授权包括以下三种场景: 将系统权限授权给角色或用户 系统权限又称为用户属性,包括SYSADMIN、CREATEDB、CREATEROLE、AUDITADMIN和 LOG IN。 系统权限一般通过CREATE/ALTER ROLE语法来指定。其中,SYSADMIN权限可以通过GRANT/REVOKE ALL PRIVILEGE授予或撤销。但系统权限无法通过ROLE和USER的权限被继承,也无法授予PUBLIC。 将数据库对象授权给角色或用户 将数据库对象(表和视图、指定字段、数据库、函数、模式等)的相关权限授予特定角色或用户; GRANT命令将数据库对象的特定权限授予一个或多个角色。这些权限会追加到已有的权限上。 GaussDB(DWS)会将某些类型的对象上的权限授予PUBLIC。默认情况下,对表、表字段、序列、外部数据源、外部服务器、模式或表空间对象的权限不会授予PUBLIC,而以下这些对象的权限会授予PUBLIC:数据库的CONNECT权限和CREATE TEMP TABLE权限、函数的EXECUTE特权、语言和数据类型(包括域)的USAGE特权。当然,对象拥有者可以撤销默认授予PUBLIC的权限并专门授予权限给其他用户。为了更安全,建议在同一个事务中创建对象并设置权限,这样其他用户就没有时间窗口使用该对象。另外,这些初始的默认权限可以使用ALTER DEFAULT PRIVILEGES命令修改。 将角色或用户的权限授权给其他角色或用户 将一个角色或用户的权限授予一个或多个其他角色或用户。在这种情况下,每个角色或用户都可视为拥有一个或多个数据库权限的集合。 当声明了WITH ADMIN OPTION,被授权的用户可以将该权限再次授予其他角色或用户,以及撤销所有由该角色或用户继承到的权限。当授权的角色或用户发生变更或被撤销时,所有继承该角色或用户权限的用户拥有的权限都会随之发生变更。 数据库系统管理员可以给任何角色或用户授予/撤销任何权限。拥有CREATEROLE权限的角色可以赋予或者撤销任何非系统管理员角色的权限。
-
GaussDB(DWS)权限 默认情况下, IAM 管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 GaussDB(DWS)部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京四)对应的项目(cn-north-4)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问GaussDB(DWS)时,需要先切换至授权区域。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对GaussDB(DWS)服务,IAM管理员能够控制IAM用户仅能对某一类资源进行指定的管理操作。 多数细粒度策略以API接口为粒度进行权限拆分,GaussDB(DWS)支持的API授权项请参见权限策略和授权项。 细粒度策略的创建方法,请参见GaussDB(DWS)自定义策略。 如表1所示,包括了GaussDB(DWS)的所有系统权限。 表1 GaussDB(DWS)系统权限 系统角色/策略名称 描述 类别 依赖关系 DWS ReadOnlyAccess 数据仓库 服务只读权限,拥有该权限的用户仅能查看数据仓库服务资源。 系统策略 无 DWS FullAccess 数据仓库服务数据库管理员权限,拥有数据仓库服务所有权限。 系统策略 无 DWS Administrator DWS数据库管理员权限,拥有对数据仓库服务的所有执行权限。 拥有VPC Administrator权限的GaussDB(DWS)用户可以创建VPC或子网。 拥有 云监控 Administrator权限的GaussDB(DWS)用户,可以查看GaussDB(DWS)集群的监控指标信息。 使用此权限场景下,如果使用到创建委托场景,还需配置对应Security Administrator权限。 系统角色 依赖Tenant Guest和Server Administrator策略,需要在同项目中勾选依赖的策略。 DWS Database Access GaussDB(DWS)数据库访问权限,拥有该权限的用户,可以基于IAM用户生成临时数据库用户凭证以连接GaussDB(DWS)集群数据库。 系统角色 依赖DWS Administrator,需要在同项目中勾选依赖的策略。 表2列出了GaussDB(DWS)常用操作与系统权限的授权关系,您可以参照该表选择合适的系统策略。 每个区域的每个项目首次使用弹性IP绑定功能时,系统将提示创建名称为“DWSAccessVPC”委托以授权GaussDB(DWS)访问VPC。授权成功后,GaussDB(DWS)可以在绑定弹性IP的虚拟机故障时切换至健康虚拟机。 在实际业务中,除了具备策略权限外还需要给不同角色的用户授予不同的资源操作权限。例如创建快照、重启集群等操作,详情请参见策略语法:细粒度策略。 默认情况下,只有华为云账号或拥有Security Administrator权限的用户才具备查询委托和创建委托的权限。账号中的IAM用户,默认没有查询委托和创建委托的权限,在使用弹性IP绑定功能时页面会屏蔽绑定按钮,此时需联系有“DWS Administrator”权限的用户在当前页面完成对GaussDB(DWS)的委托授权,详情请参见委托GaussDB(DWS)管理资源。 表2 GaussDB(DWS)常用操作与系统权限的关系 操作 DWS FullAccess DWS ReadOnlyAccess DWS Administrator DWS Database Access 创建/恢复集群 √ x √ x 获取集群列表 √ √ √ x 获取单个集群详情 √ √ √ x 设置自动快照 √ x √ x 设置安全参数/参数组 √ x √ x 重启集群 √ x √ x 扩容集群 √ x √ x 重置密码 √ x √ x 删除集群 √ x √ x 设置可维护时间段 √ x √ x 绑定EIP x x √ x 解绑EIP x x √ x 创建DNS 域名 √ x √ x 释放DNS域名 √ x √ x 修改DNS域名 √ x √ x 创建 MRS 连接 √ x √ x 更新MRS连接 √ x √ x 删除MRS连接 √ x √ x 添加/删除标签 √ x √ x 编辑标签 √ x √ x 创建快照 √ x √ x 获取快照列表 √ √ √ √ 删除快照 √ x √ x 复制快照 √ x √ x
-
产品类型概述 存算一体:面向数据分析场景,为用户提供高性能、高扩展、高可靠、高安全、低时延、易运维的企业级数仓服务,支持2048节点、20PB级超大规模数据分析能力,适用于“库、仓、市、湖”一体化的融合分析业务。 存算分离:采用存算分离云原生架构,计算、存储分层弹性伸缩,极致性价比,采用多逻辑集群(Virtual Warehouse,以下简称VW)共享存储技术,实现不同负载的计算隔离和并发扩展,适用于OLAP分析场景。 GaussDB(DWS)数仓之间暂不支持互相访问,用户可通过创建的OBS外表,将两个数据库关联在同一个数据目录下进行数据查询。