Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PG 数据库 功能许愿墙 #76

Open
digoal opened this issue Aug 21, 2020 · 63 comments
Open

PG 数据库 功能许愿墙 #76

digoal opened this issue Aug 21, 2020 · 63 comments

Comments

@digoal
Copy link
Owner

digoal commented Aug 21, 2020

您的愿望将传达给PG kernel hacker、数据库厂商等, 帮助提高数据库产品质量和功能.

说不定下一个PG版本就有您提出的功能点, 开不开森.
针对非常好的提议,奖励限量版PG文化衫、纪念品、贴纸、PG热门书籍等,奖品丰富,快来许愿。

请按如下格式许愿^_^

必填

行业: 互联网

功能期望: 列存表

解决什么问题: 提高分析场景性能

期望功能分级: 选项 [有就一定用、没有就不用、其他]

选填

企业名称:

数据库规模:

业务逻辑:

业务痛点:

数据库痛点:

如果有不方便发出的内容, 可以邮件私发给我: [email protected]

@digoal digoal changed the title 数据库功能许愿墙 PG 数据库 功能许愿墙 Aug 21, 2020
@digoal
Copy link
Owner Author

digoal commented Aug 21, 2020

奖品很多啊, PostgreSQL文化衫、卫衣、热门畅销书、水晶吊坠、贴纸、PG钛合金开瓶器

@digoal
Copy link
Owner Author

digoal commented Aug 26, 2020

行业: 传统
功能期望: 登录失败超过限制之后,就锁定用户
解决什么问题: 提高安全性, 防止暴力破解, 兼容oracle
期望功能分级: 选项 [有就一定用、没有就不用、其他]
替代方案: auth_delay
开发提示: login hook

@digoal
Copy link
Owner Author

digoal commented Aug 26, 2020

行业: 通用
功能期望: PG大版本迁移, 业务兼容性评估, 包括元数据、SQL等
解决什么问题: 希望使用大版本的功能或提升性能, 兼容性评估, 用于业务改造和迁移决策
期望功能分级: 选项 [有就一定用、没有就不用、其他]
替代方案: 人肉查看release notes migration建议部分
开发提示: 类似adam, 采集元数据, 采集应用请求(sql请求), 在目标版本库中回放, 判断是否兼容.

@inshua
Copy link

inshua commented Aug 27, 2020

列式存储
吸纳Yogabyte 的分布式设计+RocksDB存储层
JSON/JSONB的列式存储
JSONB语法简化,支持数字类型引用
吸纳PipelineDB的流视图

@imhomer
Copy link

imhomer commented Aug 27, 2020

行业: 通用
功能期望: 在社区版中增加RUM索引接口(目前这个插件只能在PostGreSQL Professional中使用
解决什么问题: 通过增加索引的位置信息,实现检索加速
期望功能分级: 有就一定用

@binbinyounimen
Copy link

行业: 互联网
功能期望: WAL 日志能够完美解析;pg_basebackup能够多线程备份
解决什么问题: MySQL binlog能够解析出具体的语句,能够更加准确的帮助恢复数据,希望PG能够引入该功能;对于大数据量的备份,pg_basebackup 单线程就显得很无力。耗时很久
期望功能分级: 有就一定用

@digoal
Copy link
Owner Author

digoal commented Aug 31, 2020

列式存储
吸纳Yogabyte 的分布式设计+RocksDB存储层
JSON/JSONB的列式存储
JSONB语法简化,支持数字类型引用
吸纳PipelineDB的流视图

需要说一下每个需求的背景, 这样比较有参考意义

@digoal
Copy link
Owner Author

digoal commented Aug 31, 2020

功能期望: 在社区版中增加RUM索引接口(目前这个插件只能在PostGreSQL Professional中使用
解决什么问题: 通过增加索引的位置信息,实现检索加速
期望功能分级: 有就一定用

安排, 默认会加入所有RDS PG版本

@digoal
Copy link
Owner Author

digoal commented Aug 31, 2020

析;pg_basebackup能够多线程备份
解决什么问题: MySQL binlog能够解析出具体的语句,能够更加准确的帮助恢复数据,希望PG能够引入该功能;对于大数据量的备份,pg_basebackup 单线程就显得很无力。耗时很久

WAL解析的功能确实有必要, 例如可以在任何时候解析出最近1天的wal的sql. 可以考虑加一个GUC参数, 保证最后N分钟内的catalog版本, 可以解析最后N分钟内产生的WAL内容, 而不需要开一个logical decode一直在那解析.

@digoal
Copy link
Owner Author

digoal commented Sep 2, 2020

行业: 通用
功能期望: 通过WAL 日志修复坏块.
解决什么问题: 当出现数据坏块时, 目前需要通过PITR全量恢复, 耗时, 耗资源.
期望功能分级: 有就一定用

@digoal
Copy link
Owner Author

digoal commented Sep 2, 2020

行业: 通用
功能期望: 可配置idle 会话超时断开的时间
解决什么问题: 降低连接, 当某些异常请求把PG连接打爆后, IDLE一段时间自动释放.
期望功能分级: 有就一定用

@digoal
Copy link
Owner Author

digoal commented Sep 2, 2020

行业: 通用
功能期望: 可配置连接生命周期, 例如一个连接生存若干分钟后, 当它处于idle时立即释放(主动断开与客户端的连接)
解决什么问题: 某些PaaS类业务, 一个连接的存活时间越长, 随着访问的PG元数据增加, 会导致会话的本地内存越来越多(不会释放), 连接多会导致OOM. 通过global cache也能解决这类问题.
期望功能分级: 有就一定用

@maxlinux1
Copy link

行业: 物联网-新能源
功能期望: 三权分立
解决什么问题: 提高系统安全访问控制
期望功能分级: 有就一定用
替代方案: 基于role的acl访问权限细化
开发提示: 类似系统级的三权分立:admin、secure、audit

@binbinyounimen
Copy link

binbinyounimen commented Sep 7, 2020

行业: 互联网
功能期望: pg_basebackup能够多线程备份以及在备库备份
解决什么问题: 首先多线程备份对于大型数据库能够起到很好的加速作用,其从在备库执行备份,可以有效减轻主库负担,减少异常发生
期望功能分级: 有就一定用
数据库痛点: 现在实例达到2T多,单线程备份居然需要好几个小时,而且只能在主库进行,大大增加主库风险。查看了目前主流的备份工具(barman、bgbackreset),都是基于pg_basebackup进行开发升级的,原理基本一致,需要执行pg_start_backuppg_stop_backup,这两个命令只能在主库执行。

@ChenHuajun
Copy link

行业: 通用
功能期望: 优化Gin索引范围查询性能
解决什么问题: Gin索引在任意字段组合的等值查询条件下相比Btree,在性能和消耗存储空间上有很大优势,可以部分替代搜索服务。但Gin索引的范围查询效率很低,范围左右边界会被分别扫描再把结果合并,导致有范围查询字段还需要单拎出来建Btree索引,使用体验不好。
期望功能分级: 有就一定用
替代方案: Gin + Btree组合使用

@digoal
Copy link
Owner Author

digoal commented Sep 9, 2020

现在实例达到2T多,单线程备份居然需要好几个小时,而且只能在主库进行,大大增加主库风险。查看了目前主流的备份工具(barman、bgbackreset),都是基于pg_basebackup进行开发升级的,原理基本一致,需要执行pg_start_backup和pg_stop_backup,这两个命令只能在主库执行。

pg_basebackup支持在备库进行的呀, 有share模式, 不一定要start backup, stop backup.

@digoal
Copy link
Owner Author

digoal commented Sep 12, 2020

行业: 通用
功能期望: 语句级超时HINT, 例如
/*+ Set(statement_timeout "100ms") */ select * from abc where info like '%abcde%';

解决什么问题: 防雪崩, 指定某些特定SQL的执行耗时上限
期望功能分级: 有就一定用
替代方案: 由于实现问题, pg_hint_plan目前无法对statement_timeout设置超时.

@linjyy
Copy link

linjyy commented Sep 29, 2020

行业:通用
功能期望:
1)vacuum full时表大部分时间可用。例如:发起该操作时,后台创建一张临时表,进行可用元组复制等,并通过触发器记录增量,待完成后,替换表名、执行触发器、更新系统视图等并清理原表,仅rename时表锁,降低影响。索引的话设置可见/不可见
2)拥有grant all权限的角色,新增表时关系能继承,而不用再次授权。类似mysql 库.* 授权方式。
3)WAL日志能指定时间区间进行解析/反解析。反解析类似mysql的binlog2sql

期望功能分级: 没有就不用

@digoal
Copy link
Owner Author

digoal commented Sep 29, 2020

行业:通用
功能期望:
1)vacuum full时表大部分时间可用。例如:发起该操作时,后台创建一张临时表,进行可用元组复制等,并通过触发器记录增量,待完成后,替换表名、执行触发器、更新系统视图等并清理原表,仅rename时表锁,降低影响。索引的话设置可见/不可见
2)拥有grant all权限的角色,新增表时关系能继承,而不用再次授权。类似mysql 库.* 授权方式。
3)WAL日志能指定时间区间进行解析/反解析。反解析类似mysql的binlog2sql

期望功能分级: 没有就不用

好提议,
现在vacuum full需要使用pg_repack插件来代替. 如果vacuum full能直接支持就太好了.
WAL日志能指定时间区间进行解析/反解析, 这个功能需要内核层支持这个功能, 例如应该需要内部有自动维护slot窗口的机制, 通过参数配置来保持2小时内的wal可被解析.

grant all这个功能隐藏得比较深入, 使用alter default privileges语法来实现.
https://www.postgresql.org/docs/13/sql-alterdefaultprivileges.html

@ChenHuajun
Copy link

ChenHuajun commented Oct 2, 2020

行业:通用
功能期望:
1)vacuum full时表大部分时间可用。例如:发起该操作时,后台创建一张临时表,进行可用元组复制等,并通过触发器记录增量,待完成后,替换表名、执行触发器、更新系统视图等并清理原表,仅rename时表锁,降低影响。索引的话设置可见/不可见
2)拥有grant all权限的角色,新增表时关系能继承,而不用再次授权。类似mysql 库.* 授权方式。
3)WAL日志能指定时间区间进行解析/反解析。反解析类似mysql的binlog2sql

期望功能分级: 没有就不用
WAL日志解析成SQL可以使用插件walminer,和参考这篇文章http://www.postgres.cn/v2/news/viewone/1/564
我们目前用的是1.x的修改版 https://gitee.com/skykiker/XLogMiner
原始版本当前是2.0beta版 https://gitee.com/movead/XLogMiner

@digoal
Copy link
Owner Author

digoal commented Oct 16, 2020

行业:通用
功能期望:
存储按实际使用收费. 目前云数据库服务基本上都是需要预购存储, 无法按真实使用付费.
期望可以根据pg_database_size的评估容量进行收费. wal日志和归档另外计费.
当数据删除后, pg_database_size的计算容量立减, 计费也应该立减

期望功能分级: 没有就不用

@ByCnck
Copy link

ByCnck commented Oct 16, 2020

行业:通用
功能期望:
存储按实际使用收费. 目前云数据库服务基本上都是需要预购存储, 无法按真实使用付费.
期望可以根据pg_database_size的评估容量进行收费. wal日志和归档另外计费.
当数据删除后, pg_database_size的计算容量立减, 计费也应该立减

期望功能分级: 没有就不用

很好,希望早点上!
如果没做空间回收,还是占用os空间,此时收费应该的吧,因为别人也不能购买使用这部分空间。vacuum full or 三方工具。
另外我们公司最近在要开始大量删数据(老库迁移遗留的),autovacuum这块有问题,膨胀点一直涨,用的阿里pg rds,我leader应该给贵司发了一个问题报告,抽时间给处理下呗

@digoal
Copy link
Owner Author

digoal commented Oct 16, 2020

行业:通用
功能期望:
存储按实际使用收费. 目前云数据库服务基本上都是需要预购存储, 无法按真实使用付费.
期望可以根据pg_database_size的评估容量进行收费. wal日志和归档另外计费.
当数据删除后, pg_database_size的计算容量立减, 计费也应该立减
期望功能分级: 没有就不用

很好,希望早点上!
如果没做空间回收,还是占用os空间,此时收费应该的吧,因为别人也不能购买使用这部分空间。vacuum full or 三方工具。
另外我们公司最近在要开始大量删数据(老库迁移遗留的),autovacuum这块有问题,膨胀点一直涨,用的阿里pg rds,我leader应该给贵司发了一个问题报告,抽时间给处理下呗

发工单, 提pg_repack需求.

@digoal
Copy link
Owner Author

digoal commented Oct 16, 2020

行业:通用
功能期望:
库表级快照、时间点克隆、时间点flash back功能.

场景:
在企业paas服务场景, 每个数据库的不同table或schema或database会对应到软件服务中的某一个企业, 当这个企业的数据需要回退时, 不需要回退整个数据库实例.

期望功能分级: 有就用

@Dlh894880406
Copy link

行业:运维
功能期望:PG支持异端pg_rewind
期望功能分级: 有没有应用场景先不说,都能搭建,总得给个解决办法。

@digoal
Copy link
Owner Author

digoal commented Oct 24, 2020

能搭建,总得给个解决办法。

希望详细解释一下, 异端pg_rewind.

@Dlh894880406
Copy link

Dlh894880406 commented Oct 24, 2020 via email

@digoal
Copy link
Owner Author

digoal commented Oct 24, 2020

通用行业问题: mysql的性能较弱, 用户在略微复杂的sql下容易遇到性能问题,而解决办法通常是分库分表+同步到搜索引擎和数据分析产品来解决. 问题凸显: 中台投入, 成本上升,同步延迟, 异构同步出现差错等问题。
功能期望: pg支持mysql协议和语法, 在不改变用户习惯的情况下支持mysql 客户问题, 同时支持pg复杂语法, 支撑大型业务场景.
附加功能: mysql负载抓取,负载replay, 诊断优化工具

@digoal
Copy link
Owner Author

digoal commented Nov 3, 2020

行业:软件PaaS行业
功能期望:
数据库名、用户名隐藏, 用户只能看到指定的其他用户和指定的数据库.
在元数据中直接隔离, server less功能.

场景:
在企业paas服务场景, 每个数据库会对应到软件服务中的某一个企业, 在元数据层面进行隔离.
原始的PG版本数据库、账号都是全局数据, 全部可见, 虽然在连接、数据访问等方面有权限隔离, 但是元数据没有被隔离.

期望功能分级: 有就用

@digoal
Copy link
Owner Author

digoal commented Nov 20, 2020

行业:通用
期望功能:pg_stat_statements提供p99 , p95的指标
解决什么问题:监控PG语句的执行稳定性, 作为业务指标参考.
期望功能分级: 有就一定用

@MondayLiu
Copy link

1、单实例Postgres支持50TB数据吗?响应时长大概多少吗?
2、生产环境,OLTP场景,单实例Postgres一般的上限是多少比较合适?

@digoal
Copy link
Owner Author

digoal commented Mar 16, 2021

1、单实例Postgres支持50TB数据吗?响应时长大概多少吗?
2、生产环境,OLTP场景,单实例Postgres一般的上限是多少比较合适?

单表最大128TB, 单实例没有设计上限.
需要结合硬件和具体业务case, 以及围绕目标的方案设计.

@digoal digoal closed this as completed Mar 16, 2021
@digoal digoal reopened this Mar 16, 2021
@digoal
Copy link
Owner Author

digoal commented Jun 11, 2021

行业:通用
功能期望:
1)vacuum full时表大部分时间可用。例如:发起该操作时,后台创建一张临时表,进行可用元组复制等,并通过触发器记录增量,待完成后,替换表名、执行触发器、更新系统视图等并清理原表,仅rename时表锁,降低影响。索引的话设置可见/不可见
2)拥有grant all权限的角色,新增表时关系能继承,而不用再次授权。类似mysql 库.* 授权方式。
3)WAL日志能指定时间区间进行解析/反解析。反解析类似mysql的binlog2sql

期望功能分级: 没有就不用

14增加了2个角色, read和write all object, 可以解决第二个问题

@digoal
Copy link
Owner Author

digoal commented Jun 11, 2021

行业: 通用
功能期望: 可配置idle 会话超时断开的时间
解决什么问题: 降低连接, 当某些异常请求把PG连接打爆后, IDLE一段时间自动释放.
期望功能分级: 有就一定用

PG 14支持了.

@cevin
Copy link

cevin commented Jun 22, 2021

自带支持sharding-nothing集群

@cevin
Copy link

cevin commented Jun 22, 2021

官方内置的中文分词支持自定义词库

@kangwen
Copy link

kangwen commented Jun 23, 2021

行业: 互联网
功能期望: 支持多分片的 bitmap
解决什么问题: 类似Redis的bitmap,制作布隆过滤器的时候,使用Redis的bitmap的话不能很好做到多分片承载数据。
期望功能分级: 有就一定用

@WangQu
Copy link

WangQu commented Aug 6, 2021

行业: 医疗
功能期望: 类似oracle常用的decode等一些常用函数
解决什么问题:解决字符处理等一些常见场景的问题
期望功能分级: 有就一定用

@ananclub
Copy link

行业: 互联网
功能期望: 实现跟oracle/mssqlserver 类似的user/role
解决什么问题: 指定用户只能执行有限的操作(存储过程)和获取指定的数据()视图
期望功能分级: 有就一定用

@zhl003
Copy link

zhl003 commented Dec 2, 2021

行业:通用
功能期望: 流复制同步复制自动降级异步机制
解决什么问题:当主从配置同步流复制,备库出故障主库就会wait
期望功能分级: 第三方的高可用软件可以实现,但灵敏度及完善程度远不如数据库自带

@yozol
Copy link

yozol commented Dec 15, 2021

行业: 互联网
功能期望: 实现临时外表机制
解决什么问题: 目前只有临时表,临时外表是缺失的,在一些场景中,外表可能用完就删掉,如果显式的删除会比较丑陋,可以采用类似临时表的逻辑。
期望功能分级: 有就一定用

@wanggnot
Copy link

wanggnot commented Dec 15, 2021 via email

@XyxH
Copy link

XyxH commented Jan 17, 2022

行业: 通用
功能期望: 增加子事务溢出监控视图表,当子事务溢出后,查看是哪个事务产生子事务溢出了
解决什么问题: 生产环境中遇到了子事务溢出的问题,但排查不到究竟是哪个事务,往往只有重启所有的连接。
期望功能分级: 有就一定用
替代方案: 无
开发提示: subtran_info

@XyxH
Copy link

XyxH commented Feb 7, 2022

行业: 通用
功能期望: 增加子事务的观测手段,能够观测那些事务使用了子事务以及当前子事务的深度
解决什么问题: 生产环境中遇到了子事务溢出的问题,但排查不到究竟是哪个事务,看不到深度,往往只有重启所有的连接。
期望功能分级: 有就一定用
替代方案: 无

@wanggnot
Copy link

wanggnot commented Feb 7, 2022 via email

@JamesYuCN
Copy link

行业: 传统行业
功能期望: 数据库表、字段可以支持驼峰命名(并大小写不敏感)、支持非确定字符集的 = like 查询(也就是英文可以大小写不敏感查询)
解决什么问题: 方便迁移Sql Server,My Sql的数据库,数据库驼峰命名比较好看、也方便和业务系统的模型对应。
期望功能分级: 有就一定用

@wanggnot
Copy link

wanggnot commented Mar 18, 2022 via email

@iihero
Copy link

iihero commented Jun 12, 2022

行业: 通用
功能期望: 用户create的function, 允许像在procedure里头一样的处理transaction的commit, rollback
解决什么问题: 使用更方便,也更简化function和procedure之间的区别
期望功能分级: 肯定要用
替代方案: 没有,就只能用没有返回值的procedure来代替,还是很不方便。
开发提示:

@iihero
Copy link

iihero commented Jun 12, 2022

行业: 通用
功能期望: 提供一个NanoID的PG函数甚至列类型
解决什么问题: 代替以前的UUID
期望功能分级: 肯定要用
替代方案:只能在客户端自己实现
开发提示:
NanoID无论是存储还是使用,都远胜于UUID.能节省很大的存储量。同时也更安全,更快速。

@iihero
Copy link

iihero commented Jun 12, 2022

行业: 通用
功能期望: 提供基于表或schema的pgcrypto加密相关语法
解决什么问题: 安全领域非常有用
期望功能分级: 肯定要用
替代方案: 自己集成实现
开发提示:
CREATE ENCRYPTED TABLE A(....) WITH ENCRYPTED KEY 'AAAAAABBBBBBB'
CREATE ENCRYPED DATABASE WITH ...........
CREATE ENCRYPED SCHEMA .....

@mawenbin666
Copy link

行业: 通用
功能期望: 内置pg读写分离功能
解决什么问题: 业务高并发情况要自己实现读写分离
期望功能分级: 肯定要用
替代方案:用外部的读写分离中间件,如pg-pool-II
开发提示:用C语言实现,性能高

@bf185003
Copy link

行业: 通用
功能期望::增加pg的字段最大数,现在pg表最大是1500个字段,在做标签类系统的时候,1个标签需要1个字段,如果有几千个标签,就需要拆成多个表,因为1个表的字段数量有限。
解决什么问题: 需要大量字段的业务场景。
期望功能分级:有就一定用
替代方案:现在只能拆表,没有替代方案

@digoal
Copy link
Owner Author

digoal commented Apr 4, 2023

数组可以吗? 标签类业务可能更倾斜使用向量搜索, 例如pgvector, pase插件, 向量值则使用数组来进行存储.

@RookieGu
Copy link

行业:制药
功能期望:1、增加对于化学信息学和生物信息学相关的扩展插件,比如rdkit扩展,希望能通过官方安装的形式就能支持相关扩展;2、对于无法root启动服务这点,由于我司安全规则针对固定镜像只能使用单一用户,要兼容old case又要扩展new case,不能root启动服务很是无奈。希望不通过修改源码,只通过配置就能使用root启动
解决什么问题:减少不必要的部署麻烦,更快更好的为科学家们提供数据分析支持,造福人类

@digoal
Copy link
Owner Author

digoal commented Nov 15, 2023

行业:制药 功能期望:1、增加对于化学信息学和生物信息学相关的扩展插件,比如rdkit扩展,希望能通过官方安装的形式就能支持相关扩展;2、对于无法root启动服务这点,由于我司安全规则针对固定镜像只能使用单一用户,要兼容old case又要扩展new case,不能root启动服务很是无奈。希望不通过修改源码,只通过配置就能使用root启动 解决什么问题:减少不必要的部署麻烦,更快更好的为科学家们提供数据分析支持,造福人类

可以考虑做个docker image, root确实需要改一下代码, 忽略权限判断.

@llw168
Copy link

llw168 commented Aug 9, 2024

行业: 互联网
功能期望: 提升表元数据的准确性。
解决什么问题: analyze 不准确。
期望功能分级: 有就一定用

选填
数据库规模: 占用存储15T
业务逻辑: 多表关联查询
数据库痛点: 表的分析数据不准确,导致sql执行计划无法用到最优的索引。

@92hackers
Copy link

行业: 互联网 功能期望: 提升表元数据的准确性。 解决什么问题: analyze 不准确。 期望功能分级: 有就一定用

选填 数据库规模: 占用存储15T 业务逻辑: 多表关联查询 数据库痛点: 表的分析数据不准确,导致sql执行计划无法用到最优的索引。

对于 analyze 分析数据不准确 的情况,有没有一些可以稳定复现的案例可以分享出来呢?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests