I have two virtual machines: dbrepa (-.175) and dbrepb (-.191).
Both have PostgreSQL 9.2 installed; once PG was installed (never initialized) on dbrepa, dbrepb was made as a clone.
I need to have the databases on dbrepb be read-only copies of those on dbrepa.
And so, I set the appropriate settings of dbrepa/postgresql.conf:
listen_address = '*'
wal_level = hot_standby
max_wal_senders = 3 # Aside, I assume '3' is arbitrary
and dbrepa/pg_hba.conf (paying attention to spacing):
host replication all 192.168.108.191/32 trust
and dbrepb/postgresql.conf:
hot_standby = on
and dbrepb/recovery.conf (a new file):
standby_mode = 'on'
primary_conninfo = 'host=192.168.108.175'
Each database is empty, but the following command was run on both:
[root@dbrep-]# service postgresql-9.2 initdb
Now, since there are no databases, I don’t need to worry if they are out of sync (since there is no data to be out of sync).
I start the master:
[root@dbrepa]# service postgresql-9.2 start
Starting postregsql-9.2 service: [ OK ]
and I start the standby:
[root@dbrepb]# service postgresql-9.2 start
Starting postregsql-9.2 service: [FAILED]
Examining the log files of each:
dbrepa/data/pg_log/-.log is empty.
dbrepb/data/pg_log/-.log:
LOG: entering standby mode
WARNING: WAL was generated with wal_level=minimal, data may be missing
HINT: This happens if you temporarily set wal_level=minimal without taking a new base backup.
FATAL: hot standby is not possible because wal_level was not set to "hot_standby" on the master server
HINT: Either set wal_level to "hot_standby" on the master, or turn off hot_standby here.
LOG: startup process (PID 4320) exited with exit code 1
LOG: aborting startup due to startup process failure
but when I double-check dbrepa/data/postgres.conf, wal_level is clearly set to hot_standby.
What else could be going wrong?