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'
Continuo recebendo esse erro ao tentar migrar para meu banco de dados postgres. Ajuda seria muito apreciada!
ruby-on-rails-3
postgresql
Stephen Nguyen
fonte
fonte
SET time zone 'UTC'
funciona na minha instalação do PostgreSQL 9.1.4.SET time zone 'UTC'
em um console psql para você?Respostas:
Tive o mesmo problema ao usar o Postgres.app do Heroku. Reinicializar meu Mac resolveu isso.
fonte
Reiniciar o postgresql funciona.
Para reiniciar se você o instalou usando homebrew,
brew info postgresql
dirá a você para:fonte
brew services restart postgresql
ou se usar uma versão específica, algo comobrew servces restart [email protected]
brew services restart postgresql
fonte
Tente reiniciar o servidor. Atualizei o Postgresql através do Homebrew, mas esqueci de reiniciar o servidor e tive o mesmo problema. Acredito que seja devido às versões do cliente e do servidor não corresponderem. psql começou com:
fonte
Acho que não mereço nenhum ponto por isso, mas reiniciar meu Postgres.app (que é melhor do que reiniciar todo o sistema) resolveu para mim. O aplicativo não aparece no Dock, você pode encontrá-lo na barra de navegação no topo da janela. Espero que ajude de qualquer maneira.
fonte
Com base na resposta de @MathiasJ , em vez de reiniciar minha máquina inteira, executei
e meu subseqüente
rake db:create
funcionou perfeitamente.fonte
Eu também tive esse problema.
Faça login no banco de dados e emita:
fonte
O que realmente aconteceu é que você atualizou o servidor postgresql e limpou suas pastas antigas, mas não reiniciou o servidor postgresql. O servidor procurou os arquivos de fuso horário no diretório excluído
fonte
Se nada mais corrigir e acontecer de você estar usando
homebrew
, é provável que você tenha problemas com os links atuais.Supondo que você tenha duas
Postgres
versões instaladas, certifique-se de desvincular e vincular novamente. No meu caso, eu precisava das duas versões funcionando para funcionarpg_upgrade
. Eu tenhopostgresql95
epostgresql
então eu fiz:Isso me fez trabalhar ao mesmo tempo. Espero que seja útil, pois demorei um bom tempo para descobrir isso!
fonte
No meu caso, reiniciar o banco de dados não ajudou. Atualizar tzdata (
apt-get install tzdata
) funcionou para mim.fonte
apenas reiniciar o banco de dados ajudou. O Homebrew atualizou minha instalação do Postgres e eu não reiniciei ainda.
fonte
Tive um problema semelhante após atualizar as informações de fuso horário, ou seja, baixar o banco de dados IANA e compilar usando zic.
Na verdade, meu problema começou após reiniciar o PostgreSQL. Eu consegui
invalid value for parameter TimeZone: UTC
e reiniciar novamente não fez nada para resolver o problema.Acontece que minhas informações de fuso horário ficaram completamente confusas após a atualização. Eu tinha links simbólicos pendentes em
/usr/share/zoneinfo
. De um console psql, obtive:Excluí todos os links simbólicos pendentes. Depois de fazer isso, pelo menos consegui começar
SELECT * FROM pg_timezone_names
a trabalhar, mas ainda assim recebi o mesmoinvalid value...
erro.O que finalmente resolveu o problema para mim foi criar um novo link simbólico:
Depois disso,
SET time zone 'UTC'
funcionou corretamente.fonte
Apenas uma referência rápida para aqueles que não estão usando Postgres.app, mas que iniciam o psql a partir da linha de comando ou através do launchctl. Você precisará ajustar o seguinte para onde seus dados Postgres e arquivos de log estão localizados em:
fonte
brew services restart postgresql
não consertou para mim. Tenho certeza de que a reinicialização teria funcionado, mas queria descobrir a causa do problema.Acredito que o problema foi causado por duas versões conflitantes de
postgresql
.Eu já tinha
postgresql
executado o brew services e instalei opostgresql@11
que continuavapostgresql
em execução no brew services mesmo depois de desinstalarpostgresql
.Corrigi isso interrompendo o
postgresql
serviço de fermentação, embora ele não estivesse listado embrew services list
.Passos para reproduzir:
Como consertar:
Foi aberto um problema no Homebrew solicitando que o serviço de uma fórmula fosse interrompido automaticamente na desinstalação.
fonte
[email protected]
executado e depois instalado[email protected]
. Embora eu tenha desinstalado o 9.5, ele ainda estava em execução. Reiniciar 9.6 não corrigiu. A correção real era parar o 9.5 e reiniciar o 9.6, e então funcionou.Aparentemente, algo semelhante também acontece com Java / JDBC durante a conexão com o Postgres.
A solução é dizer ao JDBC para relatar o fuso horário correto do usuário ao Postgres enquanto obtém a conexão.
Portanto, mencionar explicitamente o fuso horário do usuário ao iniciar o programa ajuda:
Nota:
Adicionando aqui porque este é o primeiro resultado no Google para este problema de conexão com o Postgres!
Fonte:
Este comentário de Yuriy no fórum de suporte Jira: https://community.atlassian.com/t5/Jira-questions/invalid-value-for-parameter-quot-TimeZone-quot-quot-US-Pacific/qaq-p/ 839426
fonte