Hi
2016-04-12 12:50 GMT+02:00 Alex Ignatov <[email protected]>:
> Hello!
> Is there any method to freeze localtimestamp and other time function value.
> Say after freezing on some value sequential calls to these functions give
> you the same value over and over again.
> This is useful primarily for testing.
>
> In oracle there is alter system set fixed_date command. Have Postgres this
> functionality?
>
It is not possible in Postgres
PostgreSQL solution is using working time as function parameter. This
parameter can have default value.
postgres=# select test('2016-03-10 10:00:00');
NOTICE: current time is: 2016-03-10 10:00:00
postgres=# select test();
NOTICE: current time is: 2016-04-12 13:47:21.644488
postgres=# select test();
NOTICE: current time is: 2016-04-12 13:47:22.633711
CREATE OR REPLACE FUNCTION public.test(t timestamp without time zone
DEFAULT now())
RETURNS void
LANGUAGE plpgsql
AS $function$
BEGIN
RAISE NOTICE 'current time is: %', t;
END;
$function$
Regards
Pavel
>
> --
> Alex Ignatov
> Postgres Professional: http://www.postgrespro.com
> The Russian Postgres Company
>
>
>
> --
> Sent via pgsql-general mailing list ([email protected])
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>