Thread: setting local time without restarting server

setting local time without restarting server

From
Anony Mous
Date:
Hi,

Is there a function that would allow me to set the local time while the
server is running?  I can't seem to find anything on this...

Thanks,
Peter


Re: setting local time without restarting server

From
Bruno Wolff III
Date:
On Thu, May 13, 2004 at 12:56:48 -0600,
  Anony Mous <A.Mous@shaw.ca> wrote:
> Hi,
>
> Is there a function that would allow me to set the local time while the
> server is running?  I can't seem to find anything on this...

You probably want to set the timezone, not the local time.
You can do that with something like:
SET TIMEZONE='EST5EDT';

Re: setting local time without restarting server

From
Anony Mous
Date:
Thanks, but I do want to set the system time.

It's actually for testing purposes.  Our software looks to the db server to
obtain the local date and time, however, to test various cases we need to
fiddle with this value.  I'd like to do it without having to first change
the system time, and then re-start the postmaster.  Sorry, I should have
clarified this in my first e-mail.

-Peter

-----Original Message-----
From: Bruno Wolff III [mailto:bruno@wolff.to]
Sent: May 13, 2004 2:07 PM
To: Anony Mous
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] setting local time without restarting server

On Thu, May 13, 2004 at 12:56:48 -0600,
  Anony Mous <A.Mous@shaw.ca> wrote:
> Hi,
>
> Is there a function that would allow me to set the local time while the
> server is running?  I can't seem to find anything on this...

You probably want to set the timezone, not the local time.
You can do that with something like:
SET TIMEZONE='EST5EDT';


Re: setting local time without restarting server

From
Bruno Wolff III
Date:
On Thu, May 13, 2004 at 15:07:13 -0500,
  Bruno Wolff III <bruno@wolff.to> wrote:
> On Thu, May 13, 2004 at 12:56:48 -0600,
>   Anony Mous <A.Mous@shaw.ca> wrote:
> > Hi,
> >
> > Is there a function that would allow me to set the local time while the
> > server is running?  I can't seem to find anything on this...
>
> You probably want to set the timezone, not the local time.
> You can do that with something like:
> SET TIMEZONE='EST5EDT';

Thinking about this some more; this only changes it for the session not
the default for new sessions.

Reading the documentation suggests that you can set the timezone in the
config file and sighup the postmaster to get it to reread the config file.
It might also be possible to change the underlying system's timezone
and do a sighup to have it pick up the correct timezone.

If the underlying system has the correct timezone, but for some reason has
the wrong time, you should be able to change its time. How you do that
varies a bit from system to system. Under *nix systems you usually use
the 'date' command (if you aren't using ntp). Under Linux, at least,
you also want to run setclock to set the hardware clock to the right
time so the time is still correct after the next reboot.

Re: setting local time without restarting server

From
Tom Lane
Date:
Anony Mous <A.Mous@shaw.ca> writes:
> Thanks, but I do want to set the system time.

You cannot do that from within Postgres, because it requires root
privileges.

> I'd like to do it without having to first change
> the system time, and then re-start the postmaster.

Who said anything about restarting the postmaster?  Just set the system
time (eg, with date(1)).

            regards, tom lane