语境:
假设在 Postgres 9.1 集群上使用流式复制/热备时,备用节点出现故障。它会停留一天,在此期间主服务器上会发生大量 DML。备用数据库的 recovery.conf 不包含“restore_command”条目(用于从 WAL 日志文件恢复),但包含“primary_conninfo”字符串(用于流式复制)。
题:
如果我在主服务器上更改一天后再次启动备用服务器。它是否会仅使用流式复制“赶上”(最终进入反映主服务器的状态)?或者我是否必须启用 WAL 文件归档并让它应用在中断期间归档的文件以确保货币?
我检查了WAL归档/流复制文档在这里,它说,你不必同时启用WAL归档和流复制,但目前还不清楚追赶是否会发生没有WAL文件归档被启用。
谢谢!
语境:
我们目前在生产中运行 PostgreSQL 8.4,并且正在内部测试 9.2 以备将来升级。出现了一些关于日期的问题。除了 PostgreSQL 版本和配置之外,运行 8.4 和 9.2 的服务器在所有方面都相同。两组服务器上存储的数据完全相同;它使用pg_dump和传输pg_restore。
在我们数据库的一部分中,我们将日期存储在类型为 的字段中timestamp without time zone。
问题:
从该字段访问日期时,extract(epoch..)请求会返回非常不同的结果,具体取决于 Postgres 版本,如下所示:
#On Postgres 8.4. entered_timestamp is a "timestamp without time zone" type column:
SELECT entered_timestamp, extract(epoch from entered_timestamp) AS entered_timestamp from <table row>
entered_timestamp | entered_timestamp
----------------------------+-------------------
2012-11-01 06:01:39.699612 | 1351774899.69961
Run Code Online (Sandbox Code Playgroud)
但...
#On Postgres 9.2. All tables, schema, and data are identical, the SELECT statement is identical to the previous one:
SELECT …Run Code Online (Sandbox Code Playgroud)