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'
Ich erhalte immer wieder diesen Fehler, wenn ich versuche, in meine Postgres-Datenbank zu migrieren. Hilfe wäre sehr dankbar!
ruby-on-rails-3
postgresql
Stephen Nguyen
quelle
quelle
SET time zone 'UTC'
funktioniert in meiner PostgreSQL 9.1.4-Installation.SET time zone 'UTC'
in einer psql-Konsole für Sie?Antworten:
Ich hatte das gleiche Problem mit der Postgres.app von Heroku. Ein Neustart meines Mac hat das Problem behoben.
quelle
Das Neustarten von postgresql funktioniert.
Um neu zu starten, wenn Sie es mit Homebrew installiert haben,
brew info postgresql
werden Sie aufgefordert:quelle
brew services restart postgresql
oder wenn Sie eine bestimmte Version verwenden, so etwas wiebrew servces restart [email protected]
brew services restart postgresql
quelle
Versuchen Sie, den Server neu zu starten. Ich habe Postgresql über Homebrew aktualisiert, aber vergessen, den Server neu zu starten, und habe das gleiche Problem. Ich glaube, das liegt daran, dass die Client- und Serverversionen nicht übereinstimmen. psql begann mit:
quelle
Ich glaube nicht, dass ich dafür Punkte verdient habe, aber ein Neustart meiner Postgres.app (was besser ist als ein Neustart des gesamten Systems) hat es für mich gelöst. Die App wird nicht im Dock angezeigt. Sie finden sie in der Navigationsleiste oben in Ihrem Fenster. Hoffe es hilft trotzdem.
quelle
Basierend auf der Antwort von @ MathiasJ lief ich, anstatt meinen gesamten Computer neu zu starten
und meine nachfolgende
rake db:create
funktionierte perfekt.quelle
Ich hatte auch dieses Problem.
Melden Sie sich bei der Datenbank an und geben Sie Folgendes ein:
quelle
Was tatsächlich passiert ist, ist, dass Sie den Postgresql-Server aktualisiert und Ihre alten Ordner bereinigt haben, aber Ihren Postgresql-Server nicht neu gestartet haben. Der Server hat im gelöschten Verzeichnis nach den Zeitzonendateien gesucht
quelle
Wenn nichts anderes behoben wird und Sie es gerade verwenden
homebrew
, haben Sie wahrscheinlich Probleme mit aktuellen Links.Angenommen, Sie haben zwei
Postgres
Versionen installiert, stellen Sie sicher, dass Sie die Verknüpfung aufheben und dann erneut verknüpfen. In meinem Fall mussten die beiden Versionen funktionieren, um ausgeführt zu werdenpg_upgrade
. Ich habepostgresql95
undpostgresql
so tat ich:Das brachte mich beide dazu, gleichzeitig zu arbeiten. Ich hoffe, es wird hilfreich, da ich eine Weile gebraucht habe, um das herauszufinden!
quelle
In meinem Fall hat ein Neustart der Datenbank nicht geholfen. Das Aktualisieren von tzdata (
apt-get install tzdata
) hat den Trick für mich getan.quelle
Nur ein Neustart der Datenbank hat geholfen. Homebrew hat meine Postgres-Installation aktualisiert und ich habe noch nicht neu gestartet.
quelle
Ich hatte ein ähnliches Problem nach dem Aktualisieren der Zeitzoneninformationen, dh dem Herunterladen der IANA-Datenbank und dem Kompilieren mit zic.
Mein Problem begann tatsächlich nach dem Neustart von PostgreSQL. Ich bekam
invalid value for parameter TimeZone: UTC
und ein Neustart tat nichts, um das Problem zu lösen.Es stellte sich heraus, dass meine Zeitzoneninformationen nach dem Update völlig durcheinander waren. Ich hatte baumelnde symbolische Verbindungen
/usr/share/zoneinfo
. Von einer psql-Konsole bekam ich:Ich habe alle diese baumelnden Symlinks gelöscht. Danach konnte ich zumindest
SELECT * FROM pg_timezone_names
zur Arbeit gehen, bekam aber immer noch den gleicheninvalid value...
Fehler.Was das Problem für mich schließlich gelöst hat, war das Erstellen eines neuen Symlinks:
Danach hat
SET time zone 'UTC'
richtig funktioniert.quelle
Nur eine Kurzreferenz für diejenigen, die Postgres.app nicht verwenden, aber psql über die Befehlszeile oder über launchctl starten. Sie müssen Folgendes anpassen, um festzustellen, wo sich Ihre Postgres-Daten und -Protokolldateien befinden:
quelle
brew services restart postgresql
nicht für mich behoben. Ich bin sicher, ein Neustart hätte funktioniert, aber ich wollte die Ursache des Problems herausfinden.Ich glaube, das Problem wurde für mich aufgrund von zwei widersprüchlichen Versionen von verursacht
postgresql
.Ich hatte bereits
postgresql
mit Brühdiensten ausgeführt und dann installiert,postgresql@11
waspostgresql
auch nach der Deinstallation in den Brühdiensten ausgeführt wurdepostgresql
.Ich habe dies behoben, indem ich den
postgresql
Brauservice gestoppt habe , obwohl er nicht in aufgeführt warbrew services list
.Schritte zum Reproduzieren:
Wie repariert man:
Es wurde ein Problem mit Homebrew geöffnet, bei dem angefordert wurde, dass der Dienst einer Formel bei der Deinstallation automatisch gestoppt werden soll.
quelle
[email protected]
ausgeführt und dann installiert hatte[email protected]
. Obwohl ich 9.5 deinstalliert hatte, lief es immer noch. Ein Neustart von 9.6 hat das Problem nicht behoben. Die eigentliche Lösung bestand darin, 9.5 zu stoppen und 9.6 neu zu starten, und dann funktionierte dies.Ähnliches passiert anscheinend auch mit Java / JDBC beim Herstellen einer Verbindung zu Postgres.
Die Lösung besteht darin, JDBC anzuweisen, Postgres die richtige Benutzerzeitzone zu melden, während die Verbindung hergestellt wird.
Erwähnen Sie also explizit die Benutzerzeitzone beim Starten des Programms.
Hinweis:
Fügen Sie dies hier hinzu, da dies das erste Ergebnis bei Google für dieses Problem mit der Verbindung zu Postgres ist!
Quelle:
Dieser Kommentar von Yuriy im Jira-Supportforum: https://community.atlassian.com/t5/Jira-questions/invalid-value-for-parameter-quot-TimeZone-quot-quot-US-Pacific/qaq-p/ 839426
quelle