Postgres 오류 "파라미터"TimeZone "에 대한 잘못된 값 :"UTC ""


89
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 데이터베이스로 마이그레이션하려고 할 때이 오류가 계속 발생합니다. 도움을 많이 주시면 감사하겠습니다!


2
이 명령 SET time zone 'UTC'은 PostgreSQL 9.1.4 설치에서 작동합니다.
Erwin Brandstetter 2012-07-10

1
사용중인 PostgreSQL 버전은 무엇입니까? SET time zone 'UTC'psql 콘솔에서 작동 합니까 ?
Mark Stosberg 2012

9.1.4를 사용하고 있습니다. SET 시간대 'UTC'는 어디서 / 어떻게 입력합니까?
Stephen Nguyen

1
Jupitor = # SET 시간대 'UTC'; 오류 : "TimeZone"매개 변수에 대한 잘못된 값 : "UTC"
Stephen Nguyen

1
Postgres (v.9.2.4)는 UTC를 좋아하지 않습니다. 대신 'GMT'를 사용하세요.
PhoebeB

답변:


135

Heroku의 Postgres.app을 사용하여 동일한 문제가 발생했습니다. 내 Mac을 재부팅하면 문제가 해결되었습니다.


2
정말 이상하고 앱을 다시 시작하고 시간대를 설정했습니다. 둘 다 작동하지 않고 Mac과 붐을 재부팅했는데 문제가 없습니다.
Steve

4
양조를 통해 포스트그레스를 재설치 한 후이 문제가 발생했습니다. Mac을 다시 시작하면 도움이되었습니다.
maicher 2015-06-17

1
업그레이드 후 postgresql을 다시 시작하면 "pg_ctl restart"문제가 발생 함
Jerzyk

4
postgres를 다시 시작하는 것도 저에게 효과적이었습니다. 내 오류는 ERROR : 매개 변수 "TimeZone": "America / Chicago"에 대한 잘못된 값입니다. 나는이 오류 메시지는 또한 UTC에 대해 어떻게 실현하지 않는 시간 검색을 낭비하기 때문에 그냥 내가이 댓글을 추가 할 거라고 생각
콜린 D를

1
솔직히 믿을 수 없지만 실제로 효과가있었습니다.
Ryan Sandridge 2019 년

77

postgresql을 다시 시작하면 작동합니다.

homebrew를 사용하여 설치 한 경우 다시 시작하려면 brew info postgresql다음을 수행해야합니다.

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

8
맞습니다. 이것은 PostgreSQL이 업그레이드되었지만 다시 시작되지 않았기 때문에 발생합니다.
Fred

감사합니다. 재부팅이 정말 유일한 답 이었다면 놀라웠을 것입니다.
sirdharma 2015 년

6
양조 당신은 심지어 쉽게 다시 시작할 수 있습니다 brew services restart postgresql또는 당신은 무언가 같이 특정 버전을 사용하는 경우brew servces restart postgresql@9.6
JiuJitsuCoder

다시 찬성 할 수 있다면 할 것입니다. 두 번째로이 오류가 발생하여 검색을 수행 한 결과이 링크가 보라색임을 발견했습니다. postgres를 다시 시작하면 다시 해결되었습니다.
Kingdon


15

서버를 다시 시작하십시오. Homebrew를 통해 Postgresql을 업데이트했지만 서버를 다시 시작하는 것을 잊고 동일한 문제가 발생했습니다. 클라이언트와 서버 버전이 일치하지 않기 때문이라고 생각합니다. psql은 다음으로 시작됩니다.

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

8

나는 그것에 대해 어떤 포인트도 가질 가치가 없다고 생각하지만 Postgres.app을 재부팅하면 (전체 시스템을 재부팅하는 것보다 낫습니다) 저를 위해 해결되었습니다. 앱은 Dock에 표시되지 않으며 창 상단의 탐색 모음에서 찾을 수 있습니다. 어쨌든 도움이되기를 바랍니다.


8

를 기반으로 MathiasJ의 대답 @ 대신 내 전체 시스템을 다시 부팅으로, 나는 달렸다

brew services restart postgresql@9.6

내 후속 rake db:create작업은 완벽하게 작동했습니다.


1
이 팁은 저에게 재부팅을 저장했습니다. 감사!
Tim Stewart

4

나도이 문제가 있었다.

데이터베이스에 로그인 한 후 다음을 실행하십시오.

set time zone utc;

23
나를 위해 일하지 않았다. 오류 : "TimeZone"매개 변수에 대한 잘못된 값 : "utc"
Flavio Wuensche

4

실제로 일어난 일은 postgresql 서버를 업그레이드하고 이전 폴더를 정리했지만 postgresql 서버를 다시 시작하지 않은 것입니다. 서버가 삭제 된 디렉토리에서 시간대 파일을 검색했습니다.


4

다른 수정 사항이없고을 사용하는 homebrew경우 현재 링크에 문제가있을 가능성이 있습니다.

두 가지 Postgres버전이 설치되어 있다고 가정 하고 연결을 해제 한 다음 다시 연결하십시오. 제 경우에는 pg_upgrade. 나는 가지고 postgresql95있었고 postgresql그렇게했습니다.

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

그 덕분에 두 사람이 동시에 일하게되었습니다. 그것을 알아내는 데 시간이 오래 걸렸기 때문에 도움이되기를 바랍니다!


3

제 경우에는 데이터베이스를 다시 시작해도 도움이되지 않았습니다. tzdata ( apt-get install tzdata)를 업데이트 하면 트릭이 생겼 습니다.


2

데이터베이스를 다시 시작하는 것이 도움이되었습니다. Homebrew가 Postgres 설치를 업데이트했지만 아직 다시 시작하지 않았습니다.


2

시간대 정보를 업데이트 한 후, 즉 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'올바르게 작동했습니다.


1

Postgres.app을 사용하지 않지만 명령 줄 또는 launchctl을 통해 psql을 시작하는 사용자를위한 빠른 참조입니다. Postgres 데이터 및 로그 파일이있는 위치에 대해 다음을 조정해야합니다.

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

나는 정확히 이것을했다. 나는 맥의 터미널에서 시작 / 정지 포스트 그레스를 사용하고있어이 잘 작동
sebasjimenez10

1

brew services restart postgresql나를 위해 고치지 않았습니다. 재부팅하면 효과가 있었을 것이라고 확신하지만 문제의 원인을 파악하고 싶었습니다.


두 가지 충돌 버전으로 인해 문제가 발생했다고 생각합니다. postgresql .

나는 이미 postgresqlbrew 서비스로 실행하고 있었고 제거 한 후에도 brew 서비스에서 postgresql@11계속 postgresql실행되도록 설치했습니다.postgresql .

postgresql나열되지 않은 경우에도 brew 서비스 를 중지하여이 문제를 해결 했습니다 brew services list.


재현 단계 :

$ brew install postgresql
$ brew services start postgresql

$ brew install postgresql@11
$ brew uninstall postgresql

$ brew services start postgresql@11

어떻게 고치는 지:

$ brew services stop postgresql

제거시 공식의 서비스를 자동으로 중지해야한다는 Homebrew에 대한 문제 를 열었습니다 .


내 문제는 postgresql@9.5실행 중이 었고 postgresql@9.6. 9.5를 제거했지만 여전히 실행 중이었습니다. 9.6을 다시 시작해도 문제가 해결되지 않았습니다. 실제 수정은 9.5를 중지 한 다음 9.6을 다시 시작하는 것이 었습니다.
Simon Kissane 2019

모든 postgresql을 제거하면 상황이 더욱 악화 될 수 있습니다.
theKid

0

분명히 Postgres에 연결하는 동안 Java / JDBC에서도 비슷한 일이 발생합니다.

해결책은 JDBC에 연결하는 동안 올바른 사용자 시간대를 Postgres에보고하도록하는 것입니다.

따라서 프로그램을 시작하는 동안 사용자 시간대를 명시 적으로 언급하면 ​​도움이됩니다.

java -Duser.timezone=America/Los_Angeles com.example.MyMainClass

노트 :

Postgres에 연결할 때이 문제에 대한 Google의 첫 번째 결과이기 때문에 여기에 추가합니다!

출처:

Jira 지원 포럼에 대한 Yuriy의 댓글 : https://community.atlassian.com/t5/Jira-questions/invalid-value-for-parameter-quot-TimeZone-quot-quot-US-Pacific/qaq-p/ 839426

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.