當我執行輸出TIMESTAMP WITH TIME ZONE
列的SELECT
語句時,它不包括輸出中的時區。它只是在將時區轉換爲當地時區之後輸出沒有時區的日期和時間。獲取postgres以UTC顯示所有TIMESTAMP WITH TIME ZONE列
我有2個問題:
- 如何獲得所有
TIMESTAMP WITH TIME ZONE
列始終顯示在輸出自己的時區,而不是忽略它的默認? - 如何讓所有的
TIMESTAMP WITH TIME ZONE
列以默認時區UTC
輸出?我知道有一些方法可以在每個查詢的基礎上執行此操作,但是我希望在每種情況下都需要修改任何查詢。所以服務器設置可能?
*當我這樣做,輸出一個SELECT語句中的' TIMESTAMP WITH TIME ZONE「列,它不包含輸出中的時區。* - 這幾乎肯定是由您的客戶端引起的,PostgreSQL本身會打印出TI時區「(https://www.postgresql.org/docs/current/static/runtime-config-client.html#GUC-TIMEZONE)設置的時區中的」MESTAMP WITH TIME ZONE「值 - [f .EX。看看](http://rextester.com/WQEP6239) – pozs
它說缺省值是'GMT',這是我想要的,但它在'postgresql.conf'中被覆蓋。但我沒有那個文件。確定它不是默認使用本地系統時區?只有相關的東西是'/ usr/share/postgresql/postgresql.conf.sample'。所以不知道它被覆蓋的地方以及如何改回它。這是一個新安裝的系統,所以它不會像舊文件那樣可能會改變某處的某個配置。 – user779159
如果您按照以下鏈接瞭解更多信息,則會描述基於'libpq'的客戶端在連接時使用'PGTZ'環境變量發出'SET TIME ZONE'命令。它通常是*默認安裝配置使用服務器自己的時區。 – pozs