Обсуждение: Two problems when using Postgresql8.3.7, Please help me!

Поиск
Список
Период
Сортировка

Two problems when using Postgresql8.3.7, Please help me!

От
"Richard"
Дата:
1.To add live HA  to PG, I transfer WAL of a database instance(Primary node) to another database instance (standby
node)at real time, and keep startup alive in standby node to recovery WAL online,so that standby node can be a hot
standby.
But I got some trouble. When standby node switch to primary mode to accept connections, of course after startup
initilizethe WAL and exit, the postgres process ereportERROR  
when mdread function enter ERROR branch, and I got message like this "could not read block X of  relation X/X/X: read
onlyXof X bytes". I spent two days to figure out what happened, but it is too hard.Please help me.    

2. When restore data from a LIVE backup , I got message like "unexpected pageaddr %X/%X in log file %u, segment %u,
offset%u" "WAL ends before end time of backup dump". It seems  the WAL was  
corrupted. I found the LSN where the error occured contained the wrong pageaddr, the pageaddr was 8K before it's real
address.Whatwas wrong?       

--------------
Richard
2010-08-04


Re: Two problems when using Postgresql8.3.7, Please help me!

От
Tom Lane
Дата:
"Richard" <husttripper@vip.sina.com> writes:
> 1.To add live HA  to PG, I transfer WAL of a database instance(Primary node) to another database instance (standby
node)at real time, and keep startup alive in standby node to recovery WAL online,so that standby node can be a hot
standby.
> But I got some trouble. When standby node switch to primary mode to accept connections, of course after startup
initilizethe WAL and exit, the postgres process ereportERROR  
> when mdread function enter ERROR branch, and I got message like this "could not read block X of  relation X/X/X: read
onlyXof X bytes". I spent two days to figure out what happened, but it is too hard.Please help me.    

I wonder whether your problem is related to this 8.3.8 bug fix:

    * Force WAL segment switch during pg_start_backup() (Heikki)

      This avoids corner cases that could render a base backup unusable.

I'd suggest updating to 8.3.latest and making sure that you are taking
the base backup according to the documented procedure.  The symptoms you
are mentioning could definitely be caused by starting from an
inconsistent backup.

            regards, tom lane

PS: Please do not post the same question to multiple mailing lists.