From: | Fujii Masao <masao(dot)fujii(at)gmail(dot)com> |
---|---|
To: | Axel Rau <axel(dot)rau(at)chaos1(dot)de> |
Cc: | pgsql-admin(at)postgresql(dot)org |
Subject: | Re: Turning a streaming standby into a hot-standby |
Date: | 2012-11-08 18:08:18 |
Message-ID: | CAHGQGwEo8Ke2dtTe4+xh0T56+g3rPENRRdy=1B1KrR3DHcC-5w@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
On Fri, Nov 9, 2012 at 2:44 AM, Axel Rau <axel(dot)rau(at)chaos1(dot)de> wrote:
>
> Am 08.11.2012 um 18:16 schrieb Fujii Masao:
>
>> On Fri, Nov 9, 2012 at 1:13 AM, Axel Rau <axel(dot)rau(at)chaos1(dot)de> wrote:
>>> Hi dbas,
>>>
>>> I changed hot_standby to "on" on the standby and learned on restart:
>>> "hot standby is not possible because wal_level was not set to ""hot_standby"" on the master server"
>>> After restarting the master with "wal_level = hot_standby",
>>> I'm still getting the same error message on the standby.
>>> This is 9.1.2.
>>>
>>> What am I doing wrong?
>>
>> After setting wal_level to hot_standby in the master, you need to take
>> a fresh base backup from the master onto the standby, and start the
>> standby from that backup.
>>
>> The standby with hot_standby=on needs the backup which was backed
>> up from the master with wal_level=hot_standby.
> Are you sure?
> I just turned off hot_standby, brought up the standby and let it catch up until it started streaming.
> I then turned on again hot_standby and the standby started successfully:
> ---
> 000,"recovery restart point at 8/C05E7AD8","last completed transaction was at log time 2012-11-08 17:24:27.007198+00",,,,,,,,""
> 000,"database system is shut down",,,,,,,,,""
> 00,"logger shutting down",,,,,,,,,""
> ,"database system was shut down in recovery at 2012-11-08 17:24:37 GMT",,,,,,,,,""
> ,"entering standby mode",,,,,,,,,""
> 00,"checkpoint record is at 8/C05E7B10",,,,,,,,,""
> 00,"redo record is at 8/C05E7AD8; shutdown FALSE",,,,,,,,,""
> 00,"next transaction ID: 0/692227; next OID: 596645",,,,,,,,,""
> 00,"next MultiXactId: 187; next MultiXactOffset: 388",,,,,,,,,""
> 00,"oldest unfrozen transaction ID: 665, in database 1",,,,,,,,,""
> 00,"transaction ID wrap limit is 2147484312, limited by database with OID 1",,,,,,,,,""
> 00,"resetting unlogged relations: cleanup 1 init 0",,,,,,,,,""
> 000,"initializing for hot standby",,,,,,,,,""
> 0000,"redo starts at 8/C05E7AD8",,,,,,,,,""
> ,00000,"recovery snapshots are now enabled",,,,,"xlog redo running xacts: nextXid 692227 latestCompletedXid 692226 oldestRunningXid 692227",,,,""
> 0000,"consistent recovery state reached at 8/C068C618",,,,,,,,,""
> 0000,"invalid record length at 8/C068C618",,,,,,,,,""
> ,"database system is ready to accept read only connections",,,,,,,,,""
> ,"streaming replication successfully connected to primary",,,,,,,,,""
> 0000,"connection received: host=[local]",,,,,,,,,""
> ---
> Looks like a valid streaming standby to me.
> What do you mean?
Yeah, that's another way to fix the situation that you encountered.
IIRC, when the standby with hot_standby=on starts up, it needs the
checkpoint WAL record which was generated by the master with
wal_level=hot_standby. In your way, that checkpoint WAL record was
streamed from the master to the standby while hot_standby is being
disabled. So you can start up the standby with hot_standbfy=on.
Regards,
--
Fujii Masao
From | Date | Subject | |
---|---|---|---|
Next Message | Baptiste LHOSTE | 2012-11-09 10:13:45 | Re: Autoanalyze of the autovacuum daemon ... |
Previous Message | Axel Rau | 2012-11-08 17:44:30 | Re: Turning a streaming standby into a hot-standby |