系统中没有PostgreSQL数据库创建时间的内置记录.所有依赖于文件系统创建/修改时间的方法都可能产生错误的答案.
例如,如果您将一个复制副本 node 转移到该 node ,则创建时间将显示为复制副本的创建时间.pg_basebackup
不会保留文件创建/修改时间,因为它们通常被认为与数据库系统的操作无关.
获取数据库创建时间的唯一可靠方法是在创建数据库时创建一个包含创建时间的单行表,然后设置权限/添加触发器,使其拒绝更新.
如果您不介意出现错误答案的风险,即创建时间被报告为比实际时间要新得多,那么您可以查看base/[dboid]/PG_VERSION
文件的时间戳@鲍勃showed a useful way to do that.