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データベースに移行しようとすると、このエラーが発生し続けます。助けていただければ幸いです!
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データベースに移行しようとすると、このエラーが発生し続けます。助けていただければ幸いです!
Heroku の Postgres.app を使用しても同じ問題が発生しました。Macを再起動すると解決しました。
サーバーを再起動してみてください。Homebrew を使用して Postgresql を更新しましたが、サーバーを再起動するのを忘れたため、同じ問題が発生しました。クライアントとサーバーのバージョンが一致していないことが原因だと思います。psqlは次で始まりました:
$ psql
psql (9.1.4, server 9.1.2)
Type "help" for help.
そのためのポイントに値するとは思いませんが、Postgres.appを再起動すると(システム全体を再起動するよりも優れています)、解決しました。アプリは Dock には表示されません。ウィンドウの上部にあるナビゲーション バーに表示されます。とにかく役立つことを願っています。
私もこの問題を抱えていました。
データベースにログインして、次を発行します。
set time zone utc;
データベースを再起動するだけで役に立ちました。Homebrew によって Postgres インストールが更新されましたが、まだ再起動していません。
タイムゾーン情報を更新した後、つまり、IANA データベースをダウンロードして zic を使用してコンパイルした後、同様の問題が発生しました。
私の問題は、 PostgreSQL を再起動した後に実際に始まりました。取得invalid value for parameter TimeZone: UTC
して再起動しても問題は解決しませんでした。
更新後、タイムゾーン情報が完全にめちゃくちゃになってしまいました。にぶら下がっているシンボリック リンクがありました/usr/share/zoneinfo
。psql コンソールから、次の情報を取得しました。
mydb=# SELECT * FROM pg_timezone_names;
ERROR: could not stat "/usr/share/zoneinfo/PRC": No such file or directory
そのようなぶら下がっているシンボリックリンクをすべて削除しました。これを行った後、少なくともSELECT * FROM pg_timezone_names
仕事に取り掛かることができましたが、それでも同じinvalid value...
エラーが発生しました。
最終的に問題を解決したのは、新しいシンボリックリンクを作成することでした:
cd /usr/share/zoneinfo
ln -s Etc/UTC UTC
この後、SET time zone 'UTC'
正常に動作しました。
Postgres.app を使用していないが、コマンド ラインまたは launchctl から psql を起動する人のためのクイック リファレンスです。Postgres のデータとログ ファイルがある場所については、次のように調整する必要があります。
pg_ctl stop
pg_ctl start -D /usr/local/pgsql/data/ -l /usr/local/pgsql/log/server.log