त्रुटि "पैरामीटर के लिए अमान्य मान" 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'

अपने पोस्टग्रेज डेटाबेस में माइग्रेट करने का प्रयास करते समय मुझे यह त्रुटि मिलती रहती है। सहायता के लिए बहुत आभार होगा!


2
कमांड SET time zone 'UTC'मेरे PostgreSQL 9.1.4 इंस्टॉलेशन में काम करता है।
इरविन ब्रान्डस्टेट्टर

1
क्या PostgreSQL संस्करण आप उपयोग कर रहे हैं? क्या SET time zone 'UTC'आपके लिए एक psll कंसोल में काम करता है ?
मार्क स्टोसबर्ग

मैं 9.1.4 का उपयोग कर रहा / रही हूँ / जहाँ मैं SET समय क्षेत्र 'UTC' कैसे दर्ज करूँ?
स्टीफन गुयेन

1
जूपिटर = # सेट टाइम ज़ोन 'UTC'; त्रुटि: पैरामीटर "टाइमज़ोन" के लिए अमान्य मान: "UTC"
स्टीफन गुयेन

1
Postgres (v.9.2.4) UTC को पसंद नहीं करता है, इसके बजाय 'GMT' का उपयोग करें।
फोबेब

जवाबों:


135

मैं Heroku से Postgres.app का उपयोग करने में एक ही समस्या थी। मेरे मैक को रीबूट करके इसे हल किया।


2
वास्तव में अजीब है, एप्लिकेशन को पुनरारंभ करने और समय क्षेत्र सेट करने का प्रयास किया। न तो काम किया, फिर मैक और बूम को रिबूट किया, कोई मुद्दा नहीं।
स्टीव

4
काढ़ा के माध्यम से डाक को पुनः स्थापित करने के बाद मुझे यह समस्या थी। मैक को पुनः आरंभ करने में मदद मिली।
मचेर

1
उन्नयन फिक्स के बाद पोस्टग्रेजल को फिर से शुरू करना "pg_ctl पुनरारंभ"
जेरजेक

4
पोस्टग्रेज को फिर से शुरू करके मेरे लिए भी काम किया। मेरी त्रुटि त्रुटि थी: पैरामीटर "टाइमज़ोन" के लिए अमान्य मान: "अमेरिका / शिकागो" हालांकि। मैंने सोचा था कि मैं इस टिप्पणी को जोड़ दूंगा क्योंकि मैंने इस त्रुटि संदेश को खोजने में समय बर्बाद किया, यह महसूस नहीं किया कि यह यूटीसी के लिए भी होता है
कॉलिन डी

1
मैं ईमानदारी से इस पर विश्वास नहीं कर सकता, लेकिन यह वास्तव में काम किया।
रेयान सैंड्रिज

77

पोस्टग्रेजिक कार्यों को फिर से शुरू करना।

यदि आपने इसे होमब्रे का उपयोग करके स्थापित किया है, तो पुनः आरंभ करने के लिए, आपको brew info postgresqlयह बताएगा:

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

8
यह सही है, ऐसा इसलिए होता है क्योंकि PostgreSQL को अपग्रेड किया गया था लेकिन फिर से शुरू नहीं किया गया।
फ्रेड

धन्यवाद, मुझे आश्चर्य होता अगर एक रिबूट वास्तव में एकमात्र जवाब होता।
श्रीधर्म

6
काढ़ा के लिए आप के साथ भी आसान पुनः आरंभ कर सकते हैं brew services restart postgresqlया यदि आप एक विशिष्ट संस्करण का उपयोग करते हैं, तो कुछ ऐसा हैbrew servces restart postgresql@9.6
JiuJitsuCoder

अगर मैं इसे फिर से बढ़ा सकता हूं, तो मैं करूंगा। बस दूसरी बार इस त्रुटि में भाग गया, खोज की, और पाया कि यह लिंक बैंगनी था। पुनः पोस्टिंग को फिर से मेरे लिए हल कर दिया।
किंग्डन


15

सर्वर को पुनरारंभ करने का प्रयास करें। मैंने होमब्रे के माध्यम से Postgresql को अपडेट किया लेकिन सर्वर को पुनरारंभ करना भूल गया और यह वही समस्या है। मेरा मानना ​​है कि यह क्लाइंट और सर्वर संस्करणों के मेल न खाने के कारण है। psql के साथ शुरू हुआ:

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

8

मुझे नहीं लगता कि मैं इसके लिए किसी भी बिंदु के लायक हूं, लेकिन मेरे Postgres.app को रिबूट करना (जो पूरे सिस्टम को रिबूट करने से बेहतर है) ने इसे मेरे लिए हल कर दिया। एप्लिकेशन डॉक पर दिखाई नहीं देता है, आप इसे अपनी खिड़की के शीर्ष पर नावबार पर पा सकते हैं। आशा है कि यह वैसे भी मदद करता है।


8

@ MathiasJ के उत्तर के आधार पर , मैंने अपनी पूरी मशीन को रिबूट करने के बजाय, मुझे दौड़ाया

brew services restart postgresql@9.6

और मेरे बाद rake db:createने पूरी तरह से काम किया।


1
इस टिप ने मुझे रिबूट बचा लिया। धन्यवाद!
टिम स्टीवर्ट

4

मुझे भी यह समस्या थी।

डेटाबेस में लॉग इन करें तो समस्या:

set time zone utc;

23
मेरे लिए काम नहीं किया। त्रुटि: पैरामीटर "टाइमज़ोन" के लिए अमान्य मान: "utc"
फ्लेवियो वूनेशे

4

वास्तव में क्या हुआ है कि आपने पोस्टग्रैसक्ल सर्वर को अपग्रेड किया और अपने पुराने फोल्डर को क्लीन-अप किया, लेकिन आपने अपने पोस्टग्रेसल सर्वर को रीस्टार्ट नहीं किया। सर्वर ने डिलीट डायर में टाइमज़ोन फ़ाइलों के लिए खोज की


4

यदि और कुछ नहीं ठीक करता है और आप उपयोग करते हैं homebrew, तो संभावना है कि आपके पास वर्तमान लिंक के साथ समस्याएँ हैं।

मान लें कि आपके पास दो Postgresसंस्करण स्थापित हैं, सुनिश्चित करें कि आप अनलिंक करते हैं और फिर फिर से लिंक करते हैं। मेरे मामले में, मुझे चलाने के लिए काम करने वाले दो संस्करणों की आवश्यकता थी pg_upgrade। मेरे पास है postgresql95और postgresqlइसलिए मैंने किया:

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

उसी समय मुझे दोनों काम करने लगे। आशा है कि यह उपयोगी हो जाता है क्योंकि यह मुझे पता लगाने के लिए एक अच्छा समय लगा!


3

मेरे मामले में डेटाबेस को पुनरारंभ करने से मदद नहीं मिली। अद्यतन tddata ( apt-get install tzdata) मेरे लिए चाल किया।


2

बस डेटाबेस को पुनः आरंभ करने से मदद मिली। Homebrew ने मेरे पोस्टग्रेज इंस्टॉलेशन को अपडेट किया और मैंने अभी तक पुनः आरंभ नहीं किया।


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 का उपयोग नहीं कर रहे हैं, लेकिन यह कमांड लाइन से या लॉन्चर के माध्यम से psql शुरू करते हैं। आपको अपने पोस्टग्रेस डेटा और लॉग फ़ाइलों को यहां स्थित के लिए निम्नलिखित को समायोजित करने की आवश्यकता होगी:

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

मैं पहले से ही postgresqlकाढ़ा सेवाओं के साथ चल रहा था , और फिर स्थापित किया postgresql@11जो postgresqlमैंने अनइंस्टॉल होने के बाद भी काढ़ा सेवाओं में छोड़ दिया postgresql

मैंने इसे postgresqlब्रू सेवा को रोककर ठीक किया , भले ही इसे सूचीबद्ध नहीं किया गया था 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 को पुनरारंभ करना, और फिर यह काम किया।
साइमन Kissane

सभी पोस्टग्रैसिकल को अनइंस्टॉल करने से यह और भी खराब हो सकता है।
दकिड

0

जाहिरा तौर पर, Postgres से कनेक्ट करते समय एक समान चीज जावा / JDBC के साथ भी होती है।

इसका समाधान JDBC को कनेक्शन प्राप्त करते समय पोस्टग्रेज के लिए सही उपयोगकर्ता टाइमज़ोन की रिपोर्ट करना है।

इसलिए, प्रोग्राम शुरू करने में उपयोगकर्ता समय-सीमा का स्पष्ट रूप से उल्लेख करें:

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

ध्यान दें:

इसे यहाँ जोड़ना क्योंकि यह इस मुद्दे के लिए Google पर पहला परिणाम है जो Postgres से जुड़ रहा है!

स्रोत:

जीरा सपोर्ट फोरम पर यूरी की यह टिप्पणी: https://community.atlassian.com/t5/Jira-questions/invalid-value-for-parameter-quot-TimeZone-quot-quot.us/Pacific/qaq-p/ 839,426

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.