ProgramingTip

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

bestdevel 2020. 10. 15. 08:09
반응형

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


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을 해결하면 문제가 해결됩니다.


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

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

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

brew services restart postgresql


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

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

나는 Postgres를 사용하여 (전체 시스템을 사용하는 것보다 낫습니다). 앱은 Dock에 표시되지 않는 창 상단의 탐색 모음에서 수 있습니다. 어쨌든 도움이되기를 바랍니다.


나도이 문제가 있었다.

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

set time zone utc;

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

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

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

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


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


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


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


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

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

설치된 정보를 업데이트 한 후, 즉 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에 연결하는 동안 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


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

brew services restart postgresql@9.6

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

참고 URL : https://stackoverflow.com/questions/11409075/postgres-error-invalid-value-for-parameter-timezone-utc

반응형