卡雷尔·莫佩尔:今天学到 - 我的 Postgres 集群是什么时候初始化的?

卡雷尔·莫佩尔:今天学到 - 我的 Postgres 集群是什么时候初始化的?

💡 原文英文,约400词,阅读约需2分钟。
📝

内容提要

本文介绍了如何检索Postgres集群/实例初始化的时间,以及如何避免在重放WAL时出现系统ID重用的情况。作者发现了一种更好的方法,可以通过SQL查询来检索初始化时间。但是,作者在使用RDS时发现了一些问题,因为RDS复制了一些预启动的文件夹或容器,导致系统ID重复,这会影响实例计数和副本对的计算。因此,建议在自我管理的情况下避免系统ID重用。

🎯

关键要点

  • 可以通过SQL查询检索Postgres集群/实例的初始化时间。

  • 在Postgres v10及以上版本或无$DATADIR访问的托管实例中,可以使用SQL查询获取初始化时间。

  • 在低于v10版本或有本地访问的情况下,可以通过Bash命令获取系统ID并计算初始化时间。

  • 在RDS上发现多个实例报告相同的系统ID,这不应该发生,因为系统ID应该是唯一的。

  • RDS可能复制了一些预启动的文件夹或容器,导致系统ID重复,这影响了实例计数和副本对的计算。

  • 在自我管理的情况下,应避免系统ID重用,以防在重放WAL时出现问题。

➡️

继续阅读