Обсуждение: Monitoring with pg_controldata
I am trying to monitor my replication lag with pg_controldata and it's driving me nuts. If I run pg_controldata from the command line as user postgres or root I get the following line Time of latest checkpoint: Thu 30 Jul 2009 00:36:12 NZST If I run it from the crontab I get this output Time of latest checkpoint: Wed Jul 29 23:05:34 2009 Here is the cron entity /usr/lib/postgresql/8.3/bin/pg_controldata /var/lib/postgresql/8.3/main >> /tmp/pg_standby_log What is the issue here? Some sort of a timezone problem? How do I tell it what time zone to use? Thanks.
On Wednesday 29 July 2009, Tim Uckun wrote:
>
> What is the issue here? Some sort of a timezone problem? How do I tell
> it what time zone to use?
>
> Thanks.
cron runs programs in a very limited environment. Things like TZ etc. are
usually not set. To see what your cron sets, just run a shell script with
something like
#!/bin/sh
env
and look at the email you get with the output.
Read the cron/crontab manpage. It tells you how to set environment variables
for your scripts.
HTH
UC
O > cron runs programs in a very limited environment. Things like TZ etc. are > usually not set. To see what your cron sets, just run a shell script with > something like > > #!/bin/sh > env > > and look at the email you get with the output. > Read the cron/crontab manpage. It tells you how to set environment variables > for your scripts. Thanks for the tip. It looks like the LANG environment wasn't set and obviously pg_controldata is reliant on that. What solved it for me was to set LANG=en_GB.UTF-8 because that was the LANG setting in the postgres user env. Thanks again.