PostgreSQL 10 identity columns explained

https://blog.2ndquadrant.com/postgresql-10-identity-columns/

Postgres 10 引入了一个新特性:identity columns。用于生成符合SQL标准的数字递增式 id 列。在这之前postgres的id列一般是使用sequence来实现 id 列,但是这种实现方式引入了两个对象,一个是表本身,另外一个是表所使用的sequence。使用新的 identity column 特性之后,就不存在单独的sequence序列了,对于数据库的管理来说更为简单且不容易出错。文中就举了几个方面的例子说明了改动前后的区别。

https://brandur.org/postgres-default

Postgres 11 引入了一种新的实现来支持 ALTER TABLE ADD COLUMN NOT NULL DEFAULT 这样的修改。原来这种修改需要使用 EXCLUSIVE LOCK锁住整个表,然后对表执行rewrite。新的实现是在 pg_attribute 中加入两列:atthasmissing 和 attmissingvalue,当数据库要返回一行数据时,如果一个列的值不存在,那么就会检查这两列,返回用户设置的默认值。新插入的行则直接设置指定的默认值。

When Should I Use Amazon Aurora and When Should I use RDS MySQL?

https://www.percona.com/blog/2018/07/17/when-should-i-use-amazon-aurora-and-when-should-i-use-rds-mysql/

Percona公司写的文章,告诉你什么时候应该选RDS,什么时候应该选Aurora。文章最后有 TL;DR,可以直接看结果。简单的总结一下就是,Aurora属于NewSQL,虽然兼容MySQL协议,但是由于架构不同,所以性能、费用、兼容性,都和RDS MySQL有不一样的地方。你可以认为Aurora 是 TiDB,而RDS就是MySQL。

pg_cron: Run periodic jobs in PostgreSQL

https://www.citusdata.com/blog/2016/09/09/pgcron-run-periodic-jobs-in-postgres/

Citus 出的一个支持在pg中执行cron任务的扩展:https://github.com/citusdata/pg_cron 。用起来很方便啊。而且支持备机变成主之后,自动开始运行cron job。


知识共享许可协议本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。