2012-07-10 37 views
49
Jupitor$ bundle exec rake db:create db:migrate 
APP_development already exists 
rake aborted! 
PG::Error: ERROR: invalid value for parameter "TimeZone": "UTC" 
: SET time zone 'UTC' 

我試圖遷移到我的postgres數據庫時不斷收到此錯誤。 幫助將不勝感激!Postgres錯誤「參數」TimeZone「:」UTC「的值無效」

+2

命令'SET time zone'UTC''在我的PostgreSQL 9.1.4安裝中起作用。 – 2012-07-10 10:17:28

+1

你在使用什麼PostgreSQL版本? 'SET時區'UTC''是否在psql控制檯中爲您工作? – 2012-07-10 20:07:53

+0

我正在使用9.1.4何處/如何進入SET時區'UTC'? – 2012-07-11 03:42:44

回答

76

我在使用Heroku的Postgres.app時遇到了同樣的問題。重新啓動我的Mac解決了它。

+0

真的很奇怪,嘗試重新啓動應用程序並設置時區。沒有任何工作,然後重新啓動mac和繁榮,沒有問題。 – Steve 2013-02-27 01:26:42

+3

我通過brew重新安裝postgress後遇到了這個問題。重新啓動mac幫助。 – maicher 2015-06-17 16:20:46

+0

升級後重新啓動postgresql修復問題「pg_ctl restart」 – Jerzyk 2015-10-12 18:51:31

6

我也有這個問題。

登錄到數據庫,然後問題:

set time zone utc; 
+12

沒有爲我工作。錯誤:參數「TimeZone」無效值:「utc」 – 2012-12-04 16:51:43

11

嘗試重新啓動服務器。我通過Homebrew更新了Postgresql,但忘記了重啓服務器並得到了同樣的問題。我相信這是由於客戶端和服務器版本不匹配。 psql開頭爲:

$ psql 
psql (9.1.4, server 9.1.2) 
Type "help" for help. 
6

我不認爲我應該得到任何積分,但重新啓動Postgres.app(這比重新啓動整個系統要好)爲我解決了這個問題。該應用程序不會顯示在Dock上,您可以在窗口頂部的導航欄上找到它。無論如何希望它有幫助。

2

實際發生的是您升級了postgresql服務器並清理了舊文件夾,但尚未重新啓動postgresql服務器。服務器搜索已刪除目錄中的時區文件

1

只是對於那些不使用Postgres.app,但是從命令行或通過launchctl啓動psql的快速參考。您需要調整以下內容以獲取Postgres數據和日誌文件的位置:

pg_ctl stop 
pg_ctl start -D /usr/local/pgsql/data/ -l /usr/local/pgsql/log/server.log 
+0

我完成了這個。我習慣於在Mac上從終端啓動/停止postgres,並且這樣工作得很好 – sebasjimenez10 2017-11-29 23:39:48

54

重新啓動postgresql工作。

要重新啓動,如果你已經使用自制安裝了它,brew info postgresql會告訴你:

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist 
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist 
+5

沒錯,發生這種情況是因爲PostgreSQL已升級但未重新啓動。 – Fred 2014-04-14 08:14:57

+0

謝謝,如果重啓真的是唯一的答案,我會感到驚訝。 – sirdharma 2015-06-12 00:05:57

1

剛剛重新啓動數據庫的幫助。 Homebrew更新了我的Postgres安裝,並且我沒有重新啓動。

2

在我的情況下重新啓動數據庫沒有幫助。更新tzdata(apt-get install tzdata)爲我做了詭計。

+0

謝謝,它爲我工作; – Mohsen 2017-09-29 14:40:59

3

如果沒有其他修復方法,而您碰巧正在使用homebrew,則可能是您的當前鏈接存在問題。

假設您安裝了兩個Postgres版本,請確保取消鏈接,然後重新鏈接。就我而言,我需要兩個版本才能運行pg_upgrade。我有postgresql95postgresql,所以我做:

$ brew unlink postgresql 
$ brew unlink postgresql95 
$ brew link postgresql95 
$ brew link --overwrite postgresql 

這讓我都在同時工作。希望它變得有幫助,因爲我花了很長時間才弄明白這一點!