Обсуждение: question on warm standby
Hi,
My problem probably is that I need to look at the forest but am
hyper-focusing on a maple twig. I have been looking at this for 2 days now
And would appreciate some feedback...
I am running postgres 8.3.4 on master(mymachine) and slave(hummer). I am
attempting to implement warm standby.
1. On mymachine I have the following archive_command:
Scp %p postgres@hummer:/var/backups/archlog/%f
(scp has been set up with ssh keys so that password
Is not required for postgres user)
This works fine. Copies wal logs to the /var/backups/archlog directory.
2. Before I attempt pg_standby or some other wait script on hummer I have
Used a simple cp command in my recovery.conf file to manually restore
My first set of updates:
restore_command = 'cp /var/backups/archlog/%f %p'
From the doc I am assuming that %f should be the file name(s) of the
Wal log in /var/backups/archlog/ to be copied into the
/*/*/*/*/pg_xlog directory referenced by %p
But %f seems to be referencing current wal log names in
/*/*/*/*/pg_xlog. I am getting messages like:
cp: cannot stat `/var/backups/archlog/0000000600000003000000D2':
No such file or directory
0000000600000003000000D2 is an actual wal log in hummer's
/*/*/*/*/pg_xlog directory.
How do I get the %f macro to reference the file names in the
/var/backups/archlog directory?
Once I get past this, then I can play around with pg_standby and get
Real warm_standby started.
Thanks for your help,
Committed to Creating @utoEnthusiasts. Please provide us with your feedback.
________________________________
Mark Steben│Database Administrator│ @utoRevenueT
95 Ashley Ave. West Springfield, MA., 01089
413-243-4800 x1512 (Phone) │ 413-732-1824 (Fax)
A Division of Dominion Enterprises
"Mark Steben" <msteben@autorevenue.com> writes:
> I am running postgres 8.3.4 on master(mymachine) and slave(hummer). I am
> attempting to implement warm standby.
> 1. On mymachine I have the following archive_command:
> Scp %p postgres@hummer:/var/backups/archlog/%f
> (scp has been set up with ssh keys so that password
> Is not required for postgres user)
> This works fine. Copies wal logs to the /var/backups/archlog directory.
Okay ...
> 2. Before I attempt pg_standby or some other wait script on hummer I have
> Used a simple cp command in my recovery.conf file to manually restore
> My first set of updates:
> restore_command = 'cp /var/backups/archlog/%f %p'
This looks fine too, perfectly standard.
> From the doc I am assuming that %f should be the file name(s) of the
> Wal log in /var/backups/archlog/ to be copied into the
> /*/*/*/*/pg_xlog directory referenced by %p
> But %f seems to be referencing current wal log names in
> /*/*/*/*/pg_xlog. I am getting messages like:
> cp: cannot stat `/var/backups/archlog/0000000600000003000000D2':
> No such file or directory
Are you sure that's an error? As per the docs, the restore_command will
sometimes be asked for files that aren't there. I'd expect one or two
such failures in a restore session.
> 0000000600000003000000D2 is an actual wal log in hummer's
> /*/*/*/*/pg_xlog directory.
Yeah, but is it in hummer's /var/backups/archlog ?
regards, tom lane
-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Thursday, November 13, 2008 10:06 PM
To: Mark Steben
Cc: pgsql-admin@postgresql.org
Subject: Re: [ADMIN] question on warm standby
"Mark Steben" <msteben@autorevenue.com> writes:
> I am running postgres 8.3.4 on master(mymachine) and slave(hummer). I am
> attempting to implement warm standby.
> 1. On mymachine I have the following archive_command:
> Scp %p postgres@hummer:/var/backups/archlog/%f
> (scp has been set up with ssh keys so that password
> Is not required for postgres user)
> This works fine. Copies wal logs to the /var/backups/archlog
directory.
Okay ...
> 2. Before I attempt pg_standby or some other wait script on hummer I
have
> Used a simple cp command in my recovery.conf file to manually
restore
> My first set of updates:
> restore_command = 'cp /var/backups/archlog/%f %p'
This looks fine too, perfectly standard.
> From the doc I am assuming that %f should be the file name(s) of
the
> Wal log in /var/backups/archlog/ to be copied into the
> /*/*/*/*/pg_xlog directory referenced by %p
> But %f seems to be referencing current wal log names in
> /*/*/*/*/pg_xlog. I am getting messages like:
> cp: cannot stat `/var/backups/archlog/0000000600000003000000D2':
> No such file or directory
Are you sure that's an error? As per the docs, the restore_command will
sometimes be asked for files that aren't there. I'd expect one or two
such failures in a restore session.
> 0000000600000003000000D2 is an actual wal log in hummer's
> /*/*/*/*/pg_xlog directory.
Yeah, but is it in hummer's /var/backups/archlog ?
[Mark Steben] No it's not. But there are wal logs in there
Copied successfully from the master that I expected to be
Applied to the database and were not
regards, tom lane
"Mark Steben" <msteben@autorevenue.com> writes:
>> Yeah, but is it in hummer's /var/backups/archlog ?
> [Mark Steben] No it's not. But there are wal logs in there
> Copied successfully from the master that I expected to be
> Applied to the database and were not
Well, that would require some deeper investigation than whether the
restore_command throws an expected error ...
regards, tom lane