PostgreSQL: Inisialisasi gugus basis data gagal

15

Keduanya C:\PostgreSQLdan C:\PostgreSQL\datamemiliki postgrespengguna dengan akses penuh dan hak admin.

Saya menjalankan postgresql-9.1.2-1-windows.exe dari pengguna postgres sebagai admin. TargetC:\PostgreSQL

Setiap cara saya mencoba, saya mendapatkan "Inisialisasi gugus basis data gagal."

Pertanyaan

  • Apakah boleh menjalankan semuanya tanpa menjadi Layanan Windows?
  • Apakah ada solusi untuk menginstal sebagai Layanan Windows?

Saya mencoba mengatur PostGIS untuk bekerja dengan GeoDjango.

Saya dapat menginstal PostGIS secara manual. Baru di PostgreSQL dan saya mengalami krisis kepercayaan terhadap semua ini. Datang dari MySQL ke PostgreSQL untuk pertama kalinya.


Keluaran log terkait dari C: \ Users \ Larry \ AppData \ Local \ Temp \ install-postgresql.log:

WScript.Network initialized...
Called IsVistaOrNewer()...
    'winmgmts' object initialized...
    Version:6.1
    MajorVersion:6
Ensuring we can read the path C: (using icacls) to Larry:
    Executing batch file 'radA3CF7.bat'...
    Output file does not exists...
Called IsVistaOrNewer()...
    'winmgmts' object initialized...
    Version:6.1
    MajorVersion:6
Ensuring we can read the path C:\PostgreSQL (using icacls) to Larry:
    Executing batch file 'radA3CF7.bat'...
    Output file does not exists...
Called IsVistaOrNewer()...
    'winmgmts' object initialized...
    Version:6.1
    MajorVersion:6
Ensuring we can read the path C:\PostgreSQL\data (using icacls) to Larry:
    Executing batch file 'radA3CF7.bat'...
    Output file does not exists...
Called IsVistaOrNewer()...
    'winmgmts' object initialized...
    Version:6.1
    MajorVersion:6
Ensuring we can write to the data directory (using icacls) to  Larry:
    Executing batch file 'radA3CF7.bat'...
    Output file does not exists...
Failed to ensure the data directory is accessible (C:\PostgreSQL\data)
    Executing batch file 'radA3CF7.bat'...
    Output file does not exists...
Called Die(Failed to initialise the database cluster with initdb)...
Failed to initialise the database cluster with initdb

Saran?

Larry Eitel
sumber
lihat install log (seharusnya di suatu tempat pada disk, mungkin dalam% TEMP%)
filiprem
Silakan lihat keluaran log yang bersangkutan.
Larry Eitel
Apakah pengguna Windows postgres memiliki hak baca dan tulis penuh pada data C: \ PostgreSQL \?
a_horse_with_no_name
Ya, DAN sesuai saran di tempat lain, saya memberi izin Pengguna Modifikasi ke direktori itu.
Larry Eitel
@LarryEitel: tetapi " Gagal memastikan direktori data dapat diakses (C: \ PostgreSQL \ data) " tampaknya menunjukkan sebaliknya.
a_horse_with_no_name

Jawaban:

17

Saya memiliki masalah yang sama menginstal 9.1.4 pada Windows 7. Saya berhasil menemukan solusi online yang berfungsi .

Langkah-langkah yang saya ikuti adalah:

  1. Copot PostgreSQL
  2. Hapus pengguna postgres jika masih ada.

    net user postgres /delete
  3. Buat pengguna postgres dengan kata sandi yang dapat Anda ingat

    net user /add postgres <password>
  4. Tambahkan pengguna postgres ke grup Administrator

    net localgroup administrators postgres /add
  5. Tambahkan pengguna postgres ke grup Power Users

    net localgroup "power users" postgres /add
  6. Jalankan jendela perintah sebagai pengguna postgres

    runas /user:postgres cmd.exe
  7. Jalankan file instal dari dalam jendela perintah.

    C:\Download\postgresql-9.1.4-1-windows.exe

    Ini akan berhasil menjalankan instalasi.

  8. Hapus pengguna postgres dari grup Administrators.

    net localgroup administrators postgres /delete
Imraan
sumber
Terima kasih atas masukannya. Sayangnya, saya sejak itu mengalihkan proyek ini ke Mongodb. Saya tidak dalam posisi saat ini untuk mengkonfirmasi saran Anda.
Larry Eitel
Saya ingin memastikan bahwa solusinya bekerja untuk saya. Setup: Postgres 9.1 64 bit dan PostGIS 2.0.1 x64
Chris
1
Ini adalah masalah yang terkenal dengan instalasi ulang PostgreSQL yang berjalan sebagai layanan, dan saya secara pribadi mengalami situasi yang dibahas oleh jawaban ini. Pemasang meninggalkan akun setelah dihapus atau ditingkatkan, tetapi instalasi ke-2 tidak memperhitungkan hal ini; perbedaan kredensial yang dihasilkan antara instalasi menciptakan kekacauan. Jawaban yang paling umum adalah yang diberikan orang Imraan; un-install, hapus akun yang menyinggung, lalu instal ulang.
Avery Payne
@ AveryPayne: sebagai alternatif: ingat kata sandi yang benar untuk akun layanan postgres. Saya telah menginstal Postgres banyak pada sistem yang sudah diinstal dan tidak pernah memiliki masalah dengan akun layanan yang ada. Kata-kata dalam penginstal bisa saja ditingkatkan (dengan 9.2 Postgres tidak lagi menggunakan akun eksplisit btw)
a_horse_with_no_name
Ingatlah bahwa, untuk langkah 4, administratorsbergantung pada lokal. Misalnya, di PT-BR itu administradores. Dan, pada langkah 5, "power users"adalah "usuários avançados".
GuiRitter
1

Dalam kasus saya (seperti yang saya lihat dari file postgresql.log di% temp% folder Windows), itu karena installer tidak dapat menemukan doskey.exe meskipun path ke folder c: \ windows \ system32 diberikan di jalur variabel lingkungan windows.
Jadi saya membuka command prompt, mengetik set PATH=%PATH%;c:\windows\system32dan menjalankan installer dari command prompt itu sendiri. Berhasil! :)

Nav
sumber
1

Tak satu pun dari yang di atas bekerja untuk saya. Saya tidak menggunakan postgres.

Jadi saya menghapus / menghapus semuanya. Jalankan cmd sebagai administrator.

Kemudian jalankan penginstal dari baris perintah (sebagai admin) dan pilih lokasi yang benar-benar baru untuk direktori data.

Saya sekarang telah berhasil menginstal ulang postgres, setelah setengah hari pokery jiggery.

NimChimpsky
sumber
1

Saya memiliki pesan kesalahan yang sama ketika mencoba menginstal 9.2.4. Masalah saya adalah karena meskipun server Win2k8 memiliki% SYSTEMROOT% \ system32 sebagai bagian dari path, tidak ada program yang dapat "melihat" apa pun di C: \ Windows \ system32. Pemasang banyak menggunakan icacls.exe selama rutin init. Karena jalur saya kacau, installer gagal.

Setelah saya secara eksplisit menambahkan C: \ Windows \ system32 ke variabel lingkungan Path SYSTEM dan menjalankan ulang installer sebagai admin, semuanya bekerja dengan baik.

Menandai
sumber
0

Masalah ini berkaitan dengan izin menulis di folder. Buat folder / data ke PostgreSQL \ 9.2 misalnya, dan berikan izin penuh kepada pengguna. Coba pasang kembali.

pengguna37408
sumber