Saya perlu mengganti nama database tetapi ketika saya melakukannya di
PGAdmin : ALTER DATABASE "databaseName" RENAME TO "databaseNameOld"
dalamnya memberi tahu saya bahwa itu tidak bisa.
Bagaimana saya bisa melakukannya?
( Versi 8.3 di WindowsXP )
Memperbarui
Pesan kesalahan pertama: Tidak bisa karena saya terhubung dengannya. Jadi saya memilih database lain dan melakukan kueri.
Saya mendapatkan pesan kesalahan kedua yang memberi tahu saya bahwa pengguna telah terhubung. Saya melihat di
PGAdmin
layar bahwa ia memiliki banyakPID
tetapi mereka tidak aktif ... Saya tidak melihat bagaimana cara membunuh mereka.
sql
postgresql
Patrick Desjardins
sumber
sumber
Jawaban:
Cobalah untuk tidak mengutip nama database:
Pastikan juga bahwa tidak ada klien lain yang terhubung ke database pada saat itu. Terakhir, coba posting pesan kesalahan itu kembali sehingga kami bisa mendapatkan lebih banyak informasi.
sumber
.
atau@
.-
Untuk referensi di masa mendatang, Anda harus bisa:
Perhatikan bahwa
pg_stat_activity
kolom tabelpid
dinamai sepertiprocpid
pada versi sebelum 9.2. Jadi jika versi PostgreSQL Anda lebih rendah dari 9.2, gunakanprocpid
sajapid
.sumber
PostgreSQL 9.3.5 on x86_64-apple-darwin, compiled by i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.9.00), 64-bit
)Saya baru saja mengalami ini dan di bawah ini yang berhasil:
1)
pgAdmin
adalah salah satu sesi. Gunakanpsql
sebagai gantinya.2) Hentikan
pgBouncer
dan / atau layanan penjadwal pada Windows karena ini juga membuat sesisumber
Unexist memberi tahu saya dalam komentar untuk memulai ulang database dan berhasil! Memulai ulang database akan mematikan semua koneksi yang ada dan kemudian saya terhubung ke database lain dan dapat mengganti namanya dengan kueri awal saya.
Thx all.
sumber
Alih-alih menerapkan nuke (memulai ulang server), Anda harus mencoba menutup koneksi yang mengganggu Anda baik dengan menemukan dari mana asalnya dan mematikan proses klien atau dengan menggunakan
pg_cancel_backend()
fungsi tersebut.sumber
Untuk siapa pun yang mengalami masalah ini menggunakan DBeaver dan mendapatkan pesan kesalahan seperti ini:
Putuskan koneksi Anda saat ini, dan sambungkan kembali ke server yang sama dengan koneksi yang tidak menargetkan database yang Anda ganti namanya.
Mengubah database aktif saja tidak cukup.
sumber