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.