Postgres hatası "" TimeZone parametresi için geçersiz değer ":" UTC ""


90
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 veritabanıma geçmeye çalışırken bu hatayı almaya devam ediyorum. yardım çok takdir edilecektir!


2
Komut SET time zone 'UTC', PostgreSQL 9.1.4 kurulumumda çalışıyor.
Erwin Brandstetter

1
Hangi PostgreSQL sürümünü kullanıyorsunuz? Sizin SET time zone 'UTC'için bir psql konsolunda çalışıyor mu ?
Mark Stosberg

9.1.4 SET saat dilimi 'UTC'yi nerede / nasıl girebilirim?
Stephen Nguyen

1
Jupitor = # SET saat dilimi 'UTC'; HATA: "TimeZone" parametresi için geçersiz değer: "UTC"
Stephen Nguyen

1
Postgres (v.9.2.4) UTC'yi sevmiyor, bunun yerine 'GMT'yi kullanın.
PhoebeB

Yanıtlar:


135

Heroku'dan Postgres.app'i kullanırken aynı sorunu yaşadım. Mac'imi yeniden başlatmak sorunu çözdü.


2
Gerçekten tuhaf, uygulamayı yeniden başlatmayı ve saat dilimini ayarlamayı denedim. Hiçbiri işe yaramadı, sonra mac ve boom'u yeniden başlattı, sorun yok.
Steve

4
Bu sorunu brew yoluyla yeniden yükledikten sonra yaşadım. Mac'i yeniden başlatmak yardımcı oldu.
maicher

1
yükseltme düzeltmelerinden sonra postgresql yeniden başlatılıyor "pg_ctl yeniden başlatma" sorunu
Jerzyk

4
postgres'i yeniden başlatmak benim için de çalıştı. Hatam HATA idi: "TimeZone" parametresi için geçersiz değer: "Amerika / Chicago" gerçi. Bu yorumu ekleyeceğimi düşündüm çünkü bu hata mesajını ararken bunun UTC için de olduğunu fark etmeden zaman harcadım
Colin D

1
Gerçekten inanamıyorum ama bu gerçekten işe yaradı.
Ryan Sandridge

78

Postgresql yeniden başlatılıyor.

Homebrew kullanarak kurduysanız, yeniden başlatmak için size şunu brew info postgresqlsöyleyecektir:

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

8
Doğru, bunun nedeni PostgreSQL'in yükseltilmesi ancak yeniden başlatılmamasıdır.
Fred

Teşekkürler, yeniden başlatma gerçekten tek cevap olsaydı şaşırırdım.
sirdharma

6
demlemek için sen daha da kolay yeniden başlatabilirsiniz brew services restart postgresqlveya bir şey gibi belirli bir sürümünü kullanıyorsanızbrew servces restart postgresql@9.6
JiuJitsuCoder

Buna tekrar oy verebilseydim, yapardım. Bu hatayla ikinci kez karşılaştım, aramaya başladım ve bu bağlantının mor olduğunu buldum. Postgres'i yeniden başlatmak benim için yine çözdü.
Kingdon


15

Sunucuyu yeniden başlatmayı deneyin. Postgresql'i Homebrew üzerinden güncelledim ancak sunucuyu yeniden başlatmayı unuttum ve aynı sorunu yaşadım. Bunun istemci ve sunucu sürümlerinin eşleşmemesinden kaynaklandığına inanıyorum. psql şununla başladı:

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

10

Dayanarak MathiasJ cevabı @ yerine benim tüm makineyi yeniden başlatmadan arasında, Koştum

brew services restart postgresql@9.6

ve benim sonraki adım rake db:createmükemmel çalıştı.


1
Bu ipucu beni yeniden başlatmayı kurtardı. Teşekkürler!
Tim Stewart

8

Bunun için herhangi bir puanı hak ettiğimi sanmıyorum ama Postgres.app'ımı yeniden başlatmak (tüm sistemi yeniden başlatmaktan daha iyidir) benim için çözdü. Uygulama Dock'ta görünmüyor, onu pencerenizin üst kısmındaki gezinme çubuğunda bulabilirsiniz. Umarım yine de yardımcı olur.


4

Benim de bu problemim vardı.

Veritabanına giriş yapın ve ardından sorun:

set time zone utc;

23
Benim için çalışmadı. HATA: "TimeZone" parametresi için geçersiz değer: "utc"
Flavio Wuensche

4

Gerçekte olan şey, postgresql sunucusunu yükseltmeniz ve eski klasörlerinizi temizlemeniz, ancak postgresql sunucunuzu yeniden başlatmamanızdır. Sunucu, silinen dizindeki saat dilimleri dosyalarını aradı


4

Başka hiçbir şey düzeltilmezse ve kullanıyorsanız homebrew, mevcut bağlantılarla ilgili sorunlarınız olabilir.

PostgresYüklü iki sürümünüz olduğunu varsayarsak , bağlantıyı kaldırıp tekrar bağladığınızdan emin olun. Benim durumumda, çalıştırmak için iki versiyonun çalışmasına ihtiyacım vardı pg_upgrade. Yaptım postgresql95ve postgresqlyaptım:

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

Bu ikisini de aynı anda çalıştırdı. Umarım bunu çözmem biraz zaman aldığından faydalı olur!


3

Benim durumumda veritabanını yeniden başlatmak yardımcı olmadı. Tzdata ( apt-get install tzdata) ' nın güncellenmesi işimi yaptı.


2

sadece veritabanını yeniden başlatmak yardımcı oldu. Homebrew, Postgres kurulumumu güncelledi ve henüz yeniden başlatmadım.


2

Saat dilimi bilgilerini güncelledikten sonra, yani IANA veritabanını indirip zic kullanarak derledikten sonra benzer bir sorun yaşadım.

Sorunum aslında PostgreSQL'i yeniden başlattıktan sonra başladı . Aldım invalid value for parameter TimeZone: UTCve yeniden başlattım, sorunu çözmek için hiçbir şey yapmadı.

Güncellemeden sonra saat dilimi bilgilerimin tamamen karıştığı ortaya çıktı. İçinde sarkan sembolik bağlar vardı /usr/share/zoneinfo. Bir psql konsolundan şunları aldım:

mydb=# SELECT * FROM pg_timezone_names;
ERROR:  could not stat "/usr/share/zoneinfo/PRC": No such file or directory

Bu tür sarkan sembolik bağlantıları sildim. Bunu yaptıktan sonra en azından SELECT * FROM pg_timezone_namesişe koyuldum ama yine de aynı invalid value...hatayı aldım .

Sonunda benim için sorunu çözen şey, yeni bir sembolik bağlantı oluşturmaktı:

cd /usr/share/zoneinfo
ln -s Etc/UTC UTC

Bundan sonra SET time zone 'UTC'doğru çalıştı.


1

Postgres.app kullanmayanlar için sadece hızlı bir referans, ancak psql'yi komut satırından veya launchctl aracılığıyla başlatanlar. Postgres verilerinizin ve günlük dosyalarınızın bulunduğu yer için aşağıdakileri ayarlamanız gerekir:

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

Ben tam olarak bunu yaptım. Mac'teki terminalden postgres başlatmaya / durdurmaya alışkınım ve bu gayet iyi çalıştı
sebasjimenez10

1

brew services restart postgresqlbenim için düzeltmedi. Eminim yeniden başlatma işe yarardı, ancak sorunun nedenini bulmak istedim.


Sorunun benim için çakışan iki sürümünden kaynaklandığına inanıyorum postgresql.

Zaten vardı postgresqldemlemek hizmetlerle çalışan ve ardından yüklü postgresql@11sol hangi postgresqlı kaldırıldıktan sonra bile demlemek hizmetlerde çalışan postgresql.

postgresqlListede yer almadığı halde bira servisini durdurarak bunu düzelttim brew services list.


Yeniden üretme adımları:

$ brew install postgresql
$ brew services start postgresql

$ brew install postgresql@11
$ brew uninstall postgresql

$ brew services start postgresql@11

Nasıl düzeltilir:

$ brew services stop postgresql

Homebrew'de, bir formül hizmetinin kaldırıldığında otomatik olarak durdurulmasını talep eden bir sorun açıldı .


Benim sorunum postgresql@9.5koşup kurmuş olmamdı postgresql@9.6. 9.5'i kaldırmama rağmen hala çalışıyordu. 9.6'yı yeniden başlatmak sorunu çözmedi. Gerçek düzeltme 9.5'i durdurmak ve ardından 9.6'yı yeniden başlatmaktı ve sonra bu işe yaradı.
Simon Kissane

Tüm postgresql'i kaldırmak bunu daha da kötüleştirebilir.
theKid

0

Görünüşe göre, benzer bir şey Postgres'e bağlanırken Java / JDBC ile de oluyor.

Buradaki çözüm, JDBC'ye bağlantıyı alırken doğru kullanıcı saat dilimini Postgres'e bildirmesini söylemektir.

Bu nedenle, programı başlatırken kullanıcının saat dilimini açıkça belirtmeniz yardımcı olur:

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

Not:

Bunu buraya eklemek, çünkü bu, Postgres'e bağlanma ile ilgili bu sorun için Google'da ilk sonuç olacak!

Kaynak:

Jira destek forumunda Yuriy tarafından yapılan bu yorum: https://community.atlassian.com/t5/Jira-questions/invalid-value-for-parameter-quot-TimeZone-quot-quot-US-Pacific/qaq-p/ 839426

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.