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'
Saya terus mendapatkan kesalahan ini ketika mencoba bermigrasi ke database postgres saya. bantuan akan sangat dihargai!
ruby-on-rails-3
postgresql
Stephen Nguyen
sumber
sumber
SET time zone 'UTC'
berfungsi di instalasi PostgreSQL 9.1.4 saya.SET time zone 'UTC'
bekerja di konsol psql untuk Anda?Jawaban:
Saya memiliki masalah yang sama menggunakan Postgres.app dari Heroku. Mem-boot ulang Mac saya menyelesaikannya.
sumber
Memulai ulang karya postgresql.
Untuk memulai ulang jika Anda telah menginstalnya menggunakan homebrew, Anda
brew info postgresql
akan diminta untuk:launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
sumber
brew services restart postgresql
atau jika Anda menggunakan versi tertentu, sesuatu sepertibrew servces restart [email protected]
brew services restart postgresql
sumber
Coba mulai ulang server. Saya memperbarui Postgresql melalui Homebrew tetapi lupa untuk me-restart server dan mendapat masalah yang sama. Saya yakin itu karena versi klien dan server tidak cocok. psql dimulai dengan:
$ psql psql (9.1.4, server 9.1.2) Type "help" for help.
sumber
Berdasarkan jawaban @ MathiasJ , alih-alih me-reboot seluruh mesin saya, saya berlari
brew services restart postgresql@9.6
dan selanjutnya saya
rake db:create
bekerja dengan sempurna.sumber
Saya tidak berpikir saya pantas mendapatkan poin untuk itu tetapi me-reboot Postgres.app saya (yang lebih baik daripada me-reboot seluruh sistem) menyelesaikannya untuk saya. Aplikasi tidak muncul di Dock, Anda dapat menemukannya di bilah navigasi di bagian atas jendela Anda. Semoga ini membantu.
sumber
Saya juga punya masalah ini.
Login ke database lalu terbitkan:
set time zone utc;
sumber
Apa yang sebenarnya terjadi adalah Anda meningkatkan server postgresql dan membersihkan folder lama Anda tetapi Anda belum memulai ulang server postgresql Anda. Server mencari file zona waktu di direktori yang dihapus
sumber
Jika tidak ada yang diperbaiki dan Anda kebetulan menggunakannya
homebrew
, kemungkinan Anda mengalami masalah dengan tautan saat ini.Dengan asumsi Anda menginstal dua
Postgres
versi, pastikan Anda membatalkan tautan lalu menautkan lagi. Dalam kasus saya, saya membutuhkan dua versi berfungsi agar dapat berjalanpg_upgrade
. Saya punyapostgresql95
danpostgresql
jadi saya lakukan:$ brew unlink postgresql $ brew unlink postgresql95 $ brew link postgresql95 $ brew link --overwrite postgresql
Itu membuat saya bekerja pada waktu yang sama. Semoga bermanfaat karena saya butuh waktu lama untuk mengetahuinya!
sumber
Dalam kasus saya, memulai ulang database tidak membantu. Memperbarui tzdata (
apt-get install tzdata
) berhasil bagi saya.sumber
hanya restart database membantu. Homebrew memperbarui instalasi Postgres saya dan saya belum memulai ulang.
sumber
Saya mengalami masalah serupa setelah memperbarui informasi zona waktu, yaitu mengunduh database IANA dan mengkompilasi menggunakan zic.
Masalah saya sebenarnya dimulai setelah memulai ulang PostgreSQL. saya mendapatkan
invalid value for parameter TimeZone: UTC
dan memulai ulang lagi tidak melakukan apa pun untuk menyelesaikan masalah.Ternyata informasi zona waktu saya benar-benar kacau setelah pembaruan. Saya memiliki tautan simbolis yang menggantung
/usr/share/zoneinfo
. Dari konsol psql, saya mendapat:mydb=# SELECT * FROM pg_timezone_names; ERROR: could not stat "/usr/share/zoneinfo/PRC": No such file or directory
Saya menghapus semua symlink yang menjuntai seperti itu. Setelah melakukan ini, setidaknya saya bisa mulai
SELECT * FROM pg_timezone_names
bekerja, tetapi tetap mendapatkan yang samainvalid value...
kesalahan yang .Apa yang akhirnya memecahkan masalah saya adalah membuat symlink baru:
cd /usr/share/zoneinfo ln -s Etc/UTC UTC
Setelah ini,
SET time zone 'UTC'
bekerja dengan benar.sumber
Hanya referensi cepat bagi mereka yang tidak menggunakan Postgres.app, tapi yang memulai psql dari baris perintah atau melalui launchctl. Anda harus menyesuaikan yang berikut ini untuk tempat Anda memiliki data Postgres dan file log yang berada di:
pg_ctl stop pg_ctl start -D /usr/local/pgsql/data/ -l /usr/local/pgsql/log/server.log
sumber
brew services restart postgresql
tidak memperbaiki untuk saya. Saya yakin me-reboot akan berhasil, tetapi saya ingin mencari tahu penyebab masalahnya.Saya yakin masalah ini disebabkan oleh saya karena dua versi yang bertentangan dari
postgresql
.Saya sudah
postgresql
menjalankan layanan brew, dan kemudian menginstalpostgresql@11
yang tetappostgresql
berjalan di layanan brew bahkan setelah saya mencopot pemasangannyapostgresql
.Saya memperbaikinya dengan menghentikan layanan pembuatan
postgresql
bir, meskipun tidak terdaftar dibrew services list
.Langkah-langkah untuk mereproduksi:
Bagaimana cara memperbaiki:
Membuka masalah pada Homebrew yang meminta agar layanan formula secara otomatis dihentikan saat uninstall.
sumber
[email protected]
menjalankan, lalu menginstal[email protected]
. Meskipun saya telah mencopot pemasangan 9.5, itu masih berjalan. Memulai ulang 9.6 tidak memperbaikinya. Perbaikan sebenarnya adalah menghentikan 9.5, lalu memulai ulang 9.6, dan kemudian ini berhasil.Rupanya, hal serupa juga terjadi dengan Java / JDBC saat menghubungkan ke Postgres.
Solusinya adalah memberi tahu JDBC untuk melaporkan zona waktu pengguna yang benar ke Postgres saat mendapatkan koneksi.
Jadi, sebutkan secara eksplisit zona waktu pengguna saat memulai program membantu:
catatan:
Menambahkan ini di sini karena ini merupakan hasil pertama di Google untuk masalah ini terkait koneksi ke Postgres!
Sumber:
Komentar Yuriy ini di forum dukungan Jira: https://community.atlassian.com/t5/Jira-questions/invalid-value-for-parameter-quot-TimeZone-quot-quot-US-Pacific/qaq-p/ 839426
sumber