如何将psql的时区设置为除了我的默认(US / Central)以外的其他内容?这是我迄今为止所尝试过的
$ psql psql (9.1.4,server 9.0.4) ... $ psql -c 'show timezone' TimeZone ------------ US/Central $ psql --set=timezone=US/Eastern -c 'show timezone' TimeZone ------------ US/Central $ psql --variable=timezone=US/Eastern -c 'show timezone' TimeZone ------------ US/Central
编辑:我不想更改服务器时区,只是客户端。
编辑#2:我想要非交互模式。
psql文档说:
-v assignment --set=assignment --variable=assignment Perform a variable assignment,like the \set internal command. Note that you must separate name and value,if any,by an equal sign on the command line....
但是随着时区的不同,也许是因为这样做:
These assignments are done during a very early stage of start-up,so variables reserved for internal purposes might get overwritten later.
所以,您似乎必须使用ps命令中的SET命令,或者设置PGTZ环境变量:
PGTZ=PST8PDT psql -c 'show timezone'
当然,如果您可以全局为用户设置时区(不仅仅是针对这个单独的psql实例),那么您可以将该变量设置为.bashrc文件(如果在Linux中)