2025年工作中一些记忆犹新的案例盘点
openGauss数据库
- 个人虚拟机环境内存不大时,可设置enable_memory_limit=off
- 个人虚拟机环境节约磁盘可关闭双写,设置enable_double_write=off
- 不支持.pgpass密码文件或环境变量,gsql可使用-W/–password选项
- gs_dump使用tar格式备份时需检查表的大小在8GB以内
- 物化视图的字典表是gs_matview
- sysdate函数性能不如now函数
- number类型建议换成numeric类型
- large sequence暂不推荐使用
- oracle风格的自刷新物化视图不能对基表做truncate操作
- 秒的精度虽然支持FF1-FF7,但interval间隔类型最高到FF6
- interval间隔类型对纯数字的单位默认按day处理,而非second
- 分区表定义分区的边界时,建议显式设置最小值边界分区(否则系统会帮我们生成最小值边界分区,分区的名称可能会与预期不符)
- 分区表仅对单个分区建索引,需要使用PG风格的分区创建语法
- 分区表仅备份单个分区,gs_dump使用"–table-conditions"选项格式为:
--table-conditions="tab_part1;partition(p1)" --table-conditions="tab_part1;subpartition(p1_sub1)"
- 逻辑备份数据过滤,gs_dump使用"–table-conditions"选项格式为:
--table-conditions="tab1;where id>100" --table-conditions="tab1;where id<100 limit 5"
- 加密备份恢复单个表及其依赖对象
$ gs_dump --with-encryption=AES128 --with-key=openGauss@2025 \
--include-depend-objs --table=public.tab1 --file=f1.dat mydb
$ gsql --with-decryption=AES128 --with-key=openGauss@2025
--file=f1.dat --dbname=restore_db
- 逻辑备份使用二进制格式导出,可使用"–remap-schema"进行重映射
- 服务端COPY文件时,不仅要有gs_role_copy_files角色,还需设置enable_copy_server_files=on
- gs_probackup工具无法配置拷贝归档进行PITR恢复,可基于全备或增量恢复
- 字段名大小写敏感JDBC驱动参数:db_compatibility=oracle/postgresql
- MySQL兼容性create database可以创建为schema:受b_compatibility_mode参数控制
- MySQL兼容性auto_incement字段不能按sequence方式来设置值
PostgreSQL数据库
- 如果修改或重设了wal段文件的默认大小,需保证min_wal_size至少为wal_segment_size的两倍
- PG14+版本,compute_query_id=on,query_id亦可为NULL(queryid计算生成过程中),并非bug
- PG16+版本,standby节点创建逻辑复制槽会被primary节点未提交的事务阻塞,等待事件无法观测
- PG17+版本,使用pg_dump逻辑导出时会set transaction_timeout参数,再使用pg_restore恢复到低版本会提示参数设置错误,但不影响最终恢复结果
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




