不值得做

来自 PostgreSQL wiki
跳转到导航跳转到搜索

此清单包含之前 待办事项 列表中的项目。

请勿在此处添加项目,而无需在 邮件列表 中进行讨论。

管理

不完整的项目 允许自定义变量出现在 pg_settings() 中
不完整的项目 让自定义变量具有事务安全性
不完整的项目 实现 SQL 标准机制,通过该机制,REVOKE ROLE 仅撤销调用角色授予的权限,而不撤销由其他角色授予的权限

配置文件

不完整项目 在 postgresql.conf 中归一化小数,或许使用“%”
不完整项目 添加外部工具以自动微调部分 postgresql.conf 参数
不完整项目 创建实用程序,计算准确的 random_page_cost 值
不完整项目 允许在所有同步备用服务器与通信中断时间超过一定值后禁用 synchronous_standby_names
这同时需要成功执行同步通知命令。
不完整项目 调整数字 GUC 值的舍入行为

表空间

不完整项目 允许每个表空间配额
不完整项目 允许临时对象的 RAM 驱动的分区上的表空间
不完整项目 关闭 Windows 上 DROP TABLESPACE 的竞争

统计信息收集器

不完整项目 在 pg_stat_archiver 中追踪准备归档的 WAL 文件数

时间点恢复 (PITR)

不完整项目 无需服务器重新启动即可更改 archive_mode?

备用服务器模式

未完成的项目 允许在恢复模式中使用 pg_xlogfile_name()
未完成的项目 更改 walsender,以便它应用按角色的设置

数据类型

未完成的项目 修复相等比较不直观的数据类型,例如 box
未完成的项目 添加 IMMUTABLE 列属性

日期和时间

未完成的项目 允许 TIMESTAMP WITH TIME ZONE 存储原始时区信息,包括时区名称或距 UTC 的偏移值
如果 TIMESTAMP 值与时区名称一起存储,则区间计算应根据时区规则进行调整。
未完成的项目 timestamp 减法不调用 justify_hours()?
未完成的项目 允许使用逗号表示符合 ISO-8601 的时间(和 timestamp)中的小数秒

数组

MONEY 数据类型

未完成的项目 添加识别的 MONEY 类型并支持多种货币
未完成的项目 MONEY 以特定于区域设置的格式进行转储,使其难以还原到具有不同区域设置的系统中

文本搜索

未完成的项目 让词典更改传递给后续词典的标记
未完成的项目 用于“@@”搜索的基于函数的 API
未完成的项目 改进文本搜索错误消息
未完成的项目 tsearch 和 tsdicts 回归测试在 glibc 上的土耳其语区域设置中失败
未完成的项目 改进对电子邮件地址用户名中破折号和加号的处理,并可能改进 URL 解析

XML

未完成的项目 允许 XML 数组转换为其他数据类型
项目未完整 允许可靠的 XML 操作非 UTF8 服务器编码(特别地,已知 xpath() 不起作用)
项目未完整 将 XSLT 从 contrib/xml2 移动到更合理的位置
项目未完整 改进 XSLT 参数传递 API
项目未完整 需要实现/实现 xpath_table 才能摆脱 contrib/xml2 [1]
项目未完整 无论如何 xpath_table 都很混乱 [2]
项目未完整 更好地处理 XPath 数据类型 [3] [4]
项目未完整 改进了 xmlconcat() 中 PI 和 DTD 的处理 [5]
项目未完整 重组 XML 和 /contrib/xml2 的功能

函数

项目未完整 强制执行从 PL 调用 spi_prepare’d 语句的函数输入、函数结果和参数的类型限制
项目未完整 降低集合返回函数中聚集的使用内存

字符格式化

未完成项 在 to_char() 中添加缺少的参数处理
未完成项 当数字不符合所需输出格式时,从 to_char() 抛出错误,而不是打印一个“#”字符串。
未完成项 修复 to_number() 处理与格式字符串不匹配的值

多语言支持

未完成项 将 cares-about-collation 列添加到 pg_proc,以便可以在解析时抛出未解决的排序规则错误
未完成项 添加 octet_length_server() 和 octet_length_client()
未完成项 将 octet_length_client() 与 octet_length() 设置为相同?
未完成项 修复 NLS 消息文件运行时编码转换错误的问题

视图和规则

未完成项 当基础表发生变化时,允许 VIEW/RULE 重新编译
未完成项 使其能够将 RETURNING 与有条件的 DO INSTEAD 规则配合使用,例如用于分区设置

SQL 命令

未完成项 添加 GUC 变量来警告查询中非标准的 SQL 用法
未完成项 添加 NOVICE 输出级别以显示有用消息
例如,针对未join的表显示警告。另外,这还可以控制自动序列/索引创建消息。
Incomplete item 使用多个参数的聚合调用中允许 DISTINCT 工作
Incomplete item 允许 DELETE 和 UPDATE 与 LIMIT 以及 ORDER BY 搭配使用

Vacuum

Incomplete item 通过扫描缓冲区缓存或检查由后台编写器写入的页面自动填充可用空间图

优化器/执行器

Incomplete item 增加 from_collapse_limit、join_collapse_limit 和/或 geqo_threshold 的默认值
Incomplete item 提高 ORDER BY 对表达式索引的使用
Incomplete item 修改规划器以更好地估计缓存效果
Incomplete item 允许共享缓冲区缓存内容影响索引成本计算

服务器端语言

Incomplete item 允许使用非 UTF8 编码数据库中的 UTF8 字符在 PL/Perl 中执行 regex 操作

客户端

psql

Incomplete item 添加针对熟悉其他数据库的人员打印建议的选项

其他性能改进

Incomplete item 不再将 8k 页面放进 mmap,而将整个文件放进后端 mmap
对大型表的 I/O 操作会消耗大量的地址空间,或者需要频繁进行映射或解除映射。扩展文件也会导致映射问题,这种问题可能需要仅映射单个页面,从而导致产生数千次映射。另一个问题是,没有办法 _阻止_ 从脏共享缓冲区对磁盘进行 I/O 操作,所以改动会在写入 WAL 之前影响到磁盘。

独特功能

项目不完整 允许控制未引用标识符的大写/小写折叠

我们 不想 要的功能

项目不完整 使用其他语言重写代码


项目不完整 "Oracle 风格" 优化器提示
Oracle 及其他 RDBMS 中实现的优化器提示用于解决优化器中的问题并引入升级与维护问题。我们更愿意报告并修复这样的问题。我们已经讨论了更加复杂的分级成本调整系统,但仍需要制定一个规范。另请参阅优化器提示讨论以获取更多信息。
项目不完整 嵌入式服务器
虽然 PostgreSQL 客户端在资源受限的环境中运行良好,但服务器需要多个进程和稳定的资源池才能可靠且高效地运行。将 PostgreSQL 服务器精简为在与客户端应用程序相同的进程地址空间中运行会增加太多复杂性和故障案例。此外,目前已有若干非常成熟的嵌入式 SQL 数据库。
项目不完整 混淆函数源代码
混淆函数源代码的保护益处很小,因为具有超级用户访问权限的任何人均可找到手段来查看代码。与此同时,它还会使备份和其他管理任务变得更加复杂。要防止非超级用户查看函数源代码,请移除对 pg_proc 的 SELECT 权限。
未完成项目 GROUP BY 子句的不确定行为
至少还有一个其他数据库产品允许指定 GROUP BY 需要能够对其中一部分结果列进行预测;此服务器可以自由地从该组返回任何值。该特性不被视为一项理想的功能。如果在 GROUP BY 中引用了同一表的某个主键,PostgreSQL 9.1 便允许使用 GROUP BY 未引用的结果列。
未完成项目 磁盘上的位图索引
磁盘上的位图索引的僵硬性,以及 GIN 和内存中位图的存在使得此特性不理想。