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'
Sigo recibiendo este error cuando intento migrar a mi base de datos de postgres. ¡La ayuda sería muy apreciada!
ruby-on-rails-3
postgresql
Stephen Nguyen
fuente
fuente
SET time zone 'UTC'
funciona en mi instalación de PostgreSQL 9.1.4.SET time zone 'UTC'
Funciona en una consola psql para ti?Respuestas:
Tuve el mismo problema al usar Postgres.app de Heroku. Reiniciar mi Mac lo solucionó.
fuente
Reiniciar postgresql funciona.
Para reiniciar si lo ha instalado usando homebrew,
brew info postgresql
le indicará que:launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
fuente
brew services restart postgresql
o si usa una versión específica, algo comobrew servces restart [email protected]
brew services restart postgresql
fuente
Intente reiniciar el servidor. Actualicé Postgresql a través de Homebrew pero olvidé reiniciar el servidor y tuve el mismo problema. Creo que se debe a que las versiones del cliente y del servidor no coinciden. psql comenzó con:
$ psql psql (9.1.4, server 9.1.2) Type "help" for help.
fuente
No creo que merezco ningún punto por eso, pero reiniciar mi Postgres.app (que es mejor que reiniciar todo el sistema) lo resolvió por mí. La aplicación no aparece en el Dock, puedes encontrarla en la barra de navegación en la parte superior de tu ventana. Espero que ayude de todos modos.
fuente
Basado en la respuesta de @ MathiasJ , en lugar de reiniciar toda mi máquina, ejecuté
brew services restart postgresql@9.6
y mi subsiguiente
rake db:create
funcionó a la perfección.fuente
Yo también tuve este problema.
Inicie sesión en la base de datos y luego emita:
set time zone utc;
fuente
Lo que realmente sucedió es que actualizó el servidor postgresql y limpió sus carpetas antiguas, pero no ha reiniciado su servidor postgresql. El servidor buscó los archivos de zonas horarias en el directorio eliminado
fuente
Si nada más se soluciona y está utilizando
homebrew
, es probable que tenga problemas con los enlaces actuales.Suponiendo que tiene dos
Postgres
versiones instaladas, asegúrese de desvincular y luego vincular nuevamente. En mi caso, necesitaba que las dos versiones funcionaran para funcionarpg_upgrade
. Yo tengopostgresql95
ypostgresql
así lo hice:$ brew unlink postgresql $ brew unlink postgresql95 $ brew link postgresql95 $ brew link --overwrite postgresql
Eso hizo que ambos trabajaran al mismo tiempo. ¡Espero que sea útil ya que me tomó un buen tiempo darme cuenta de eso!
fuente
En mi caso, reiniciar la base de datos no ayudó. Actualizar tzdata (
apt-get install tzdata
) hizo el truco para mí.fuente
simplemente reiniciar la base de datos ayudó. Homebrew actualizó mi instalación de Postgres y aún no reinicié.
fuente
Tuve un problema similar después de actualizar la información de la zona horaria, es decir, descargar la base de datos de IANA y compilar usando zic.
En realidad, mi problema comenzó después de reiniciar PostgreSQL. tengo
invalid value for parameter TimeZone: UTC
y reiniciar nuevamente no hizo nada para resolver el problema.Resulta que la información de mi zona horaria se estropeó por completo después de la actualización. Tenía enlaces simbólicos colgando
/usr/share/zoneinfo
. Desde una consola psql, obtuve:mydb=# SELECT * FROM pg_timezone_names; ERROR: could not stat "/usr/share/zoneinfo/PRC": No such file or directory
Eliminé todos esos enlaces simbólicos colgantes. Después de hacer esto, al menos pude ponerme
SELECT * FROM pg_timezone_names
a trabajar, pero aún así obtuve el mismoinvalid value...
error.Lo que finalmente resolvió el problema para mí fue crear un nuevo enlace simbólico:
cd /usr/share/zoneinfo ln -s Etc/UTC UTC
Después de esto,
SET time zone 'UTC'
funcionó correctamente.fuente
Solo una referencia rápida para aquellos que no están usando Postgres.app, pero que inician psql desde la línea de comandos o mediante launchctl. Deberá ajustar lo siguiente para dónde tiene sus archivos de registro y datos de Postgres ubicados:
pg_ctl stop pg_ctl start -D /usr/local/pgsql/data/ -l /usr/local/pgsql/log/server.log
fuente
brew services restart postgresql
no me arregló. Estoy seguro de que reiniciar habría funcionado, pero quería averiguar la causa del problema.Creo que el problema se debió a dos versiones conflictivas de
postgresql
.Ya me había
postgresql
ejecutado con brew services, y luego instalé lopostgresql@11
que dejópostgresql
en ejecución en brew services incluso después de desinstalarlopostgresql
.Arreglé esto deteniendo el
postgresql
servicio de preparación, aunque no estaba en la listabrew services list
.Pasos para reproducir:
Como arreglar:
Se abrió un problema en Homebrew que solicitaba que el servicio de una fórmula se detuviera automáticamente al desinstalarlo.
fuente
[email protected]
ejecutado y luego lo instalé[email protected]
. Aunque había desinstalado 9.5, todavía se estaba ejecutando. Reiniciar 9.6 no lo solucionó. La solución real fue detener 9.5 y luego reiniciar 9.6, y luego esto funcionó.Aparentemente, algo similar también sucede con Java / JDBC mientras se conecta a Postgres.
La solución es decirle a JDBC que informe la zona horaria correcta del usuario a Postgres mientras obtiene la conexión.
Por lo tanto, mencionar explícitamente la zona horaria del usuario al iniciar el programa ayuda:
Nota:
Agregando esto aquí porque este es el primer resultado en Google para este problema al conectarse a Postgres.
Fuente:
Este comentario de Yuriy en el foro de soporte de Jira: https://community.atlassian.com/t5/Jira-questions/invalid-value-for-parameter-quot-TimeZone-quot-quot-US-Pacific/qaq-p/ 839426
fuente