Database
PostgreSQL 安全漏洞 CVE-2024-4317
之前没有特别注意这个漏洞,这里稍微记一笔。
PostgreSQL 包含一系列系统视图,这些系统视图可以用来查询系统表。
由于 pg_stats_ext
和 pg_stats_ext_exprs
这两个视图在 PostgreSQL 14-16 的 16.3、15.7 和 14.12 之前的版本中缺少了必要的访问控制,
因此未经授权的用户将可以通过这些视图访问其他用户通过 CREATE STATISTICS
创建的一系列统计数据,而这些数据可能会揭示这些未经授权的用户原本没有权限访问的数据,或是函数的执行结果。
PostgreSQL 在 16.3、15.7 和 14.12 中修正了这一问题,但这仅限于新安装的情况。
对于已经安装好的正在运行的数据库,管理员还必须重建这两个系统视图以收紧权限(加入了 WITH (security_barrier)
以及 WHERE 子句来限制访问)。
修正脚本位于源代码的 src/backend/catalog/fix-CVE-2024-4317.sql
(对于 FreeBSD pkg 用户,这些修正脚本会安装到 /usr/local/share/postgresql/fix-CVE-2024-4317.sql),
使用 psql 运行即可。
修复 MySQL 编码问题
有个疑似 OCD 患者最近抽风升级了一下 MySQL 数据库,然后发现 blog 里面全都变成了乱码。
那乱码的模式一看就是把 utf8 直接扔进了 latin1 的数据库,一看 SHOW CREATE TABLE mt_entry 发现果然如此。
关系代数中的除
简单记一笔,感谢 Stanford 的 数据库入门 课程课后作业 (有人在 StackOverflow提问)。复习一下。
应用场景:找出一家能制作全部30岁以上人士需要的Pizza种类的Pizza店。
在示范数据库中给出的四个关系:
阅读全文…