如果我有疑问:-
SELECT foo FROM baa where foo='value'
Run Code Online (Sandbox Code Playgroud)
和
SELECT foo FROM wobble WHERE foo='value'
Run Code Online (Sandbox Code Playgroud)
我可以在 postgres 中编写一个 SQL 查询,这样如果第一个查询在不使用公用表表达式或重复第一个查询的情况下返回结果,则第二个查询不会运行吗?
原因是两个查询都相当繁重,第二个查询是第一个查询不返回结果的情况下的后备。
我在两台服务器(一台主服务器,一台主服务器)上使用Postgres版本9.3.2。
我将复制设置如下:-
在大师:-
sudo -u postgres psql -c "CREATE USER replicator REPLICATION LOGIN ENCRYPTED PASSWORD 'FOO’;"
Run Code Online (Sandbox Code Playgroud)
编辑postgresql.conf
listen_address = '*'
wal_level = hot_standby
max_wal_senders = 32
checkpoint_segments = 8
wal_keep_segments = 100
Run Code Online (Sandbox Code Playgroud)
编辑pg_hba.conf
hostssl replication replicator <SLAVE IP>/32 md5
Run Code Online (Sandbox Code Playgroud)
在奴隶:-
编辑postgresql.conf
wal_level = hot_standby
max_wal_senders = 3
checkpoint_segments = 8
wal_keep_segments = 8
hot_standby = on
Run Code Online (Sandbox Code Playgroud)
跑
sudo service postgresql stop
sudo -u postgres rm -rf /var/lib/postgresql/9.3/main
sudo -u postgres pg_basebackup -h <MASTER IP> -D /var/lib/postgresql/9.3/main -U replicator -v -P …Run Code Online (Sandbox Code Playgroud)