PostgreSQL 每周新闻 2019-04-10
PostgreSQL每周新闻#300 - 2019年4月10日
备注:英文原文地址
如何提高COUNT(*)的性能
在Postgres中使用count(*)通常很慢。 本文探讨了使用近似和其他的技巧,让计算行数更快的方法。
LAURENZ ALBE
当漏洞不是漏洞时
有时一些功能会被标记为记录“漏洞”,例如CVE-2019-9193和Postgres的COPY TO/FROM PROGRAM功能。如果您在管理Postgres系统,那么在您的部署中值得了解一些潜在的滥用情况。
MAGNUS HAGANDER
实时Postgres性能监控
收集开箱即用的自定义PostgreSQL指标,并将其与分布式基础架构,应用程序和日志中的数据相关联。使用Datadog获得实时性能分析并设置智能警报。开始免费试用。
DATADOG
赞助商
PGCon 2019现已开放注册
今年的Postgres会议将于5月28日至31日在加拿大渥太华举行,包括为期两天的教程,两天的会谈和一次非正式会议。
PGCON
pgmetrics 1.6.2:从正在运行的Postgres服务器上收集和显示统计信息
RAPIDLOOP
用显式JOIN子句控制Postgres的Planner
直接来自PG文档,但这是一个方便的建议,特别是像我一样的人,你通常会更喜欢ANSI SQL 89的连接方式。
POSTGRES DOCUMENTATION
为什么hot_standby_feedback可能会产生误导
在Postgres中设置复制时,hot_standby_feedback是一种可能比您预期的更复杂的功能。
RICHARD YEN
使用Slony实现从旧版Postgres到较新版本的连续复制
PostgreSQL中的本地流复制仅在运行相同主版本的服务器之间工作,但Slony提供了应用程序级替代方案。
NICKOLAY IHALAINEN
dbdot:为Postgres Schemas生成DOT描述
基本上是另一种创建数据库模式图的方法。
AASHISH KARKI
CockroachDB如何将JSONB引入其分布式数据库
…加上为什么他们采用Postgres语法。
COCKROACH LABS
赞助商
vipsql:用于与’psql’交互的Vim插件
vipsql2.0版本在几周前问世。
MARTIN GAMMELSÆTER
本周提示
由GitPrime提供支持
选择表格行的“样本”
您有一个充满数据的表,您想要选择该数据的随机样本。使用带有RANDOM()指令的SELECT是一种方法,但可能会对大型数据集产生性能问题。 谢天谢地,有一个更好的方法。
首先,让我们创建一个包含1000行的表 - 数字1到1000:
CREATE TABLE numbers (number int);
INSERT INTO numbers (number)
` SELECT id FROM generate_series(1,1000) AS id;`
Postgres 9.5引入了一个新的TABLESAMPLE子句,允许您以不同的方式对表进行采样(默认情况下有2种方式,但可以通过扩展添加更多方式)。让我们从表中检索随机的0.5%的行:
SELECT * FROM numbers TABLESAMPLE BERNOULLI (0.5);
` number `
--------
` 101
213
278
433`
BERNOULLI从表中选择行的概率为0.5%(统计上我们平均得到5行),但是还有一种更有效的SYSTEM方法,它使用基于块的技术(返回表中的范围/行组时可能有一些缺点)。 您还可以将TABLESAMPLE与其他SQL语句(如UPDATE或DELETE)一起使用,例如,无论出于何种原因,如果您想删除表的30%的行。 如果您不了解generate_series(),请考虑额外提示:-)
本周提示由GitPrime提供支持.获取他们新的指南‘工程团队需要关注的20种模式’的副本,其中包含可操作的见解,以帮助您使用数据调试开发过程。
🗓 即将举办的Postgres活动
pgconf.de 2019 (5月10日,莱比锡) ——最成功的德语PostgreSQL会议。
PGDay.IT 2019 (5月16-17日,博洛尼亚)
PGCon 2019(5月28-31日,渥太华) ——一个年度会议,供用户和开发人员见面和讨论Postgres。
Postgres Vision 2019(6月24日,波士顿)