0
在Postgres的recovery.conf
文件中设置trigger_file名字的时候,当我使用设定的Postgres的trigger_file的
trigger_file = '$PGDATA/failover_file'
,然后touch $PGDATA/failover_file
,故障转移工作不
但路径名,当我使用的
trigger_file = '/opt/rh/postgresql92/root/var/lib/pgsql/data/failover_file'
然后touch $PGDATA/failover_file
全路径名,故障转移工程确定
有没有人知道在trigger_file中使用环境变量会使故障转移无法工作?
感谢 戴夫
我不认为在'postgresql.conf'或'recovery.conf'设置中扩展了环境变量。是什么让你觉得他们会是?如果有文件说明需要修复,请显示链接。 – 2014-09-24 11:36:37
我已将recovery.conf文件中的$ PGDATA变量用作restore_command设置的一部分。它安静地愉快地扩展那里的变量,但不在trigger_file中。我没有阅读过任何地方,它说它或不扩展这些文件中的变量,但我认为这是一致的。 – davegreen100 2014-09-24 12:48:26
这是因为'recovery_command'是一个shell命令,所以你可以在那里使用'$ variable'这样的shell元字符。对于PostgreSQL来说,它只是一个文本字符串,但是当PostgreSQL运行该命令时,shell会解释它,并且它会看到由PostgreSQL设置的'PGDATA' env var。 – 2014-09-24 14:27:11