我正在进行一个Oracle到PostgreSQL数据库迁移项目。我需要从Postgres中读取操作系统的日期和时间。在Oracle中,sysdate()返回日期类型数据的系统日期时间,而systimestamp()返回时间戳类型数据,无论time_zone变量设置为何值。但是,在PostgreSQL中,current_date()和current_timestamp()始终相对于该数据库设置的时区变量给出结果。
同步时区变量(即设置timezone='utc')是一种方法,但我不想改变我的时区变量。我只想像在Oracle中那样获取当前系统的日期和时间(时区可能包括或不包括)。任何pl/pgsql都将有所帮助。谢谢。
同步时区变量(即设置timezone='utc')是一种方法,但我不想改变我的时区变量。我只想像在Oracle中那样获取当前系统的日期和时间(时区可能包括或不包括)。任何pl/pgsql都将有所帮助。谢谢。
set local time zone local
是最接近的设置方法 -- 这将设置服务器默认时区的值;如果没有在任何地方明确设置过,则为服务器操作系统默认的时区 -- 此外,在提交/回滚之后,或者如果您在函数中使用它,则会被重置。在函数执行后也会被重置。 - pozs