What is "return code" for WAL send command
Hello
I have a master PG 8.1.11 sending WAL files to a cold-standby using rsync
For some reason it failed recently with "return codes 32512" and I couldn't
find this num. as a valid rsync exit code
During the time that the error was going on I tried the rsync command
manually and didn't error
Can someone tell me what kind if error is 32512
Thanks
Mr. Wu
Import Notes
Reply to msg id not found: AANLkTim1B6JtEF8wYfT3VhydgW=HtwPS_6iF0g=BDLsW@mail.gmail.comReference msg id not found: AANLkTim1B6JtEF8wYfT3VhydgW=HtwPS_6iF0g=BDLsW@mail.gmail.com
zhong ming wu <mr.z.m.wu@gmail.com> writes:
I have a master PG 8.1.11 sending WAL files to a cold-standby using rsync
For some reason it failed recently with "return codes 32512" and I couldn't
find this num. as a valid rsync exit code
During the time that the error was going on I tried the rsync command
manually and didn't error
Can someone tell me what kind if error is 32512
A more recent version of Postgres would break that down for you: it
means the subprocess exited with exit(127). A look in the shell
man page suggests this is a "command not found" failure. Maybe
there's something flaky about where you have rsync mounted?
regards, tom lane
On Sat, Oct 23, 2010 at 11:48 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
A more recent version of Postgres would break that down for you: it
means the subprocess exited with exit(127). A look in the shell
man page suggests this is a "command not found" failure. Maybe
there's something flaky about where you have rsync mounted?regards, tom lane
Thanks for the reply.
postgres user has both rsync and ssh in its path but is it possible
that it is not using $PATH ?
One other thing is that just before the error the postgres was
restarted by other admin with rc.d/postgresql command
instead of pg_ctl which is what I normally use. Perhaps
rc.d/postgresql command does not work well with WAL sending command?
But just to be on the safe side I am changing postgresql.conf with
absolute path to rsync as WAL sending command.
zhong ming wu <mr.z.m.wu@gmail.com> writes:
postgres user has both rsync and ssh in its path but is it possible
that it is not using $PATH ?
One other thing is that just before the error the postgres was
restarted by other admin with rc.d/postgresql command
instead of pg_ctl which is what I normally use. Perhaps
rc.d/postgresql command does not work well with WAL sending command?
I'd bet that the other way failed to start the postmaster with the
expected value of $PATH. Take a close look at the script and see
if it causes postgres' login environment to be installed or not
(ie, su -l not just su).
regards, tom lane
On 10/23/2010 02:01 PM, zhong ming wu wrote:
Hello
I have a master PG 8.1.11 sending WAL files to a cold-standby using rsync
For some reason it failed recently with "return codes 32512" and I
couldn't find this num. as a valid rsync exit codeDuring the time that the error was going on I tried the rsync command
manually and didn't error
I guess you have fallen into the common pitfall that cron does not read
bash ini files and does not set the $PATH variable. If you want your
scripts to be run by cron you must make them independent of $PATH and
other variables set by .bashrc etc.
My $.02.
/Fredric
Show quoted text
Can someone tell me what kind if error is 32512
Thanks
Mr. Wu
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Mon, 25 Oct 2010 09:49:02 +0200, Fredric Fredricson wrote abour Re:
[GENERAL] What is "return code" for WAL send command:
On 10/23/2010 02:01 PM, zhong ming wu wrote:
[snip]
For some reason it failed recently with "return codes 32512" and I
couldn't find this num. as a valid rsync exit codeDuring the time that the error was going on I tried the rsync
command manually and didn't errorI guess you have fallen into the common pitfall that cron does not
read bash ini files and does not set the $PATH variable. If you want
your scripts to be run by cron you must make them independent of $PATH
and other variables set by .bashrc etc.
One can also specify environment variables at the top of the crontab.
This overcomes the issue of cron jobs not reading /etc/profile and
other start-up scripts that are processed by a normal login shell. For
example, here is my personal crontab:
# Establish environment variables.
JAVA_HOME='/etc/java-config-2/current-system-vm'
PATH="/home/dwn/bin:/usr/local/bin:/bin:/usr/bin:/opt/bin:/etc/java-config-2/current-system-vm/bin:/etc/java-config-2/current-system-vm/jre/bin"
TMPDIR='/tmp'
HOME='/home/dwn'
SHELL='/bin/zsh'
LOGNAME='dwn'
LC_ALL='en_GB.UTF-8'
http_proxy='http://webproxy.local:8080'
ftp_proxy='http://webproxy.local:8080'
RSYNC_PROXY='webproxy.local:8080'
CC='gcc'
CXX='g++'
# Set our priority level.
!nice(4)
# Each morning run a scan of our home directory for backup files.
%daily 30 20 find "$HOME/" \( -name \*~ -o -iname \*.bak \) -print
- -delete
# Clean out the work directory for Lazarus.
%daily 18 05 cd "$HOME/Lazarus_projects/tmp/" && for fn in *(N); do rm
- -rf "$fn"; done
# Clean out the cache subdirectories under $HOME.
%daily 28 07 cache_clean.zsh
As you can see, it establishes all the most common environment variables
before any cron job starts.
- --
Regards,
Dave [RLU #314465]
======================================================================
dwnoon@ntlworld.com (David W Noon)
======================================================================
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (GNU/Linux)
iEYEARECAAYFAkzFZ7QACgkQRQ2Fs59Psv/JBwCeKRUID/cE4roMbduG2I345evk
hiwAn3ohd2+2FxkVEwkeVuV/Q6eJpixd
=w68f
-----END PGP SIGNATURE-----
On 10/25/2010 01:19 PM, David W Noon wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1On Mon, 25 Oct 2010 09:49:02 +0200, Fredric Fredricson wrote abour Re:
[GENERAL] What is "return code" for WAL send command:On 10/23/2010 02:01 PM, zhong ming wu wrote:
[snip]
For some reason it failed recently with "return codes 32512" and I
couldn't find this num. as a valid rsync exit codeDuring the time that the error was going on I tried the rsync
command manually and didn't errorI guess you have fallen into the common pitfall that cron does not
read bash ini files and does not set the $PATH variable. If you want
your scripts to be run by cron you must make them independent of $PATH
and other variables set by .bashrc etc.One can also specify environment variables at the top of the crontab.
This overcomes the issue of cron jobs not reading /etc/profile and
other start-up scripts that are processed by a normal login shell. For
example, here is my personal crontab:
Ah, yes of course, It was a while ago I played with cron.
"man 5 crontab" is also a good command to know, or
"info crontab" if you prefer those modern inventions.
/Fredric
On Mon, Oct 25, 2010 at 1:58 PM, Fredric Fredricson
<Fredric.Fredricson@bonetmail.com> wrote:
On 10/25/2010 01:19 PM, David W Noon wrote:
Ah, yes of course, It was a while ago I played with cron.
"man 5 crontab" is also a good command to know, or
"info crontab" if you prefer those modern inventions.
This is nothing to do with cron since postgresql is started manually.
Also no mention is made of cron in my original post.