前面曾经遇到过一个奇怪的问题,诡异的问题:时间不同步导致FTP用户地址丢失,最近又发现了奇怪的问题,仍然是ftp用户丢失,找了很长时间bug,最后发现是postgresql数据库的now()函数返回的时间有问题,返回的是UTC时间,而默认情况下应该返回UTC+8才对。
如:
metadata=> select now();
now
——————————
2012-06-21 09:51:41.98586+00
(1 row)
开始还以为是系统时区设置有问题,又重新设置了一遍:
sudo dpkg-reconfigure tzdata
sudo service postgresql restart
但问题依旧,无意中用另外一个帐号尝试了一下,发现结果不同:
metadata=# select now();
now
——————————-
2012-06-21 17:53:19.154867+08
(1 row)
终于确定是此帐号的问题,将其中的timezone变量给删除掉
ALTER ROLE usersss RESET TimeZone;
再重新试验看看,果然问题解决了:
metadata=> select now();
now
——————————-
2012-06-21 17:59:15.767081+08
(1 row)
回想一下,感觉这应该是mediawiki的问题,mediawiki导入后就有异常了,估计是mediawiki里同时加入了帐号相关的变量。
发表回复