Perbaiki: psql: tidak dapat terhubung ke server: Tidak ada file atau direktori semacam itu
PostgreSQL mempromosikan dirinya sebagai platform aplikasi database sumber terbuka yang paling canggih, dan Debian Linux tentu memiliki banyak paket yang membuatnya bahkan lebih kompleks. Anda juga dapat menemukan muatan kapal paket untuk PostgreSQL jika Anda bekerja dengan Ubuntu Server atau salah satu dari berbagai spin Ubuntu, karena mereka didasarkan pada inti Debian. Tingkat kerumitan dan pengembangan ini tidak dapat terhubung ke server dan tidak ada peringatan file atau direktori yang jauh lebih menyebalkan.
Untungnya, ini biasanya kasus sederhana masalah perizinan yang disebabkan oleh fakta bahwa PostgreSQL menginginkan pengguna bernama postgres untuk mempertahankan direktori ini. Dengan menggunakan trik baris perintah sederhana, Anda dapat memperbaikinya hampir seketika. Anda harus melalui beberapa pemeriksaan diagnostik dasar sebelumnya, meskipun, hanya untuk memastikan bahwa ini sebenarnya adalah masalah yang Anda hadapi.
Memperbaiki PostgreSQL Tidak Bisa Menghubungkan ke Kesalahan Server
Pertama, coba restart sistem PostgreSQL secara manual. Kadang-kadang ini cukup untuk memperbaiki hal-hal, dan jika tidak maka Anda setidaknya akan mendapatkan pesan kesalahan untuk bekerja dari. Kemungkinan besar, Anda cukup me-restart sistem dengan mengeluarkan perintah psql sebagai pengguna postgres.
Anda mungkin menemukan bahwa ini membersihkan semuanya. Jika tidak, Anda mungkin mendapatkan baris yang membaca psql: tidak dapat terhubung ke server: Tidak ada file atau direktori semacam itu, yang berarti Anda memiliki masalah izin. Jika Anda menerima pesan kesalahan ini, maka Anda akan mendapatkan beberapa teks lain yang dimuntahkan juga.
Periksa status layanan jika Anda menerima pesan ini untuk memastikan bahwa modul sudah dimuat. Mereka seharusnya, tetapi jika mereka tidak Anda mungkin ingin memulai kembali. Jika Anda mendapatkan pesan yang bertuliskan Loaded: loaded (/lib/systemd/system/postgresql.service; enabled), maka mereka berjalan. Coba sudo service postgresql restart hanya untuk melakukan restart singkat dan lihat apakah itu mengoreksi apa pun. Biasanya tidak, tetapi mungkin patut dicoba tergantung.
TIP PRO: Jika masalahnya ada pada komputer Anda atau laptop / notebook, Anda harus mencoba menggunakan Perangkat Lunak Reimage Plus yang dapat memindai repositori dan mengganti file yang rusak dan hilang. Ini berfungsi dalam banyak kasus, di mana masalah ini berasal karena sistem yang rusak. Anda dapat mengunduh Reimage Plus dengan Mengklik di Sini
Dengan asumsi bahwa itu tidak membantu, lihatlah di dalam log PostgreSQL untuk mencari kesalahan. Dalam hal tidak mungkin Anda menemukan sesuatu tentang kesalahan paket, maka Anda mungkin kehilangan salah satu modul SQL. Ini biasanya bukan penyebab masalah ini, tetapi tentu saja tidak ada salahnya untuk setidaknya melihat-lihat. Kemungkinan besar, Anda benar-benar akan menemukan sesuatu yang memperingatkan Anda bahwa Izin harus u = rwx (0700) dan
bahwa direktori data /var/lib/postgresql/9.6/main memiliki akses grup atau dunia, meskipun Anda mungkin melihat nomor versi yang berbeda tergantung pada SQL server yang Anda jalankan.
Ini karena distribusi Debian dan sejenisnya mengharapkan bahwa pengguna postgres dan grup mengontrol direktori ini dengan 0700 perizinan dan semua file melalui 0600 perizinan demi keamanan. Yang harus Anda lakukan adalah menjalankan perintah berikut di terminal untuk memperbaiki izin:
sudo chown -R postgres: postgres /var/lib/postgresql/9.6/ && sudo chmod -Ru = rwX, go = /var/lib/postgresql/9.6/
Perlu diingat bahwa seharusnya X huruf besar dan bukan x-huruf kecil yang lebih umum yang mungkin lebih Anda kenal karena cara spesifik yang Anda inginkan untuk mengatur opsi izin file ini. Meskipun Anda memang membutuhkan akses root untuk melakukan hal ini, pencantuman dua tanda sudo tersebut harus lebih dari cukup untuk memberi Anda izin yang tepat saat berjalan sebagai pengguna biasa. Hal ini penting karena Ubuntu dan berbagai implementasi Linux terpisah dari Ubuntu memiliki akun root utama sehingga Anda perlu melakukan hal-hal seperti ini.
Setelah perintah ini selesai, Anda dapat me-restart layanan lagi dengan layanan sudo postgresql restart dari terminal dan Anda seharusnya tidak memiliki kesalahan saat ini. Jika Anda melihat log, maka peringatan tentang masalah perizinan seharusnya tidak ada lagi.
Ini adalah kesalahan yang terjadi sebagai akibat dari kondisi yang cukup spesifik, jadi Anda tidak perlu mengalaminya lagi setelah Anda memperbaikinya pertama kali asalkan Anda tidak mencoba secara manual melakukan apa pun yang melibatkan manipulasi izin dari direktori PostgreSQL. Tidak ada situasi di mana ini harus benar-benar diperlukan, di luar memperbaiki masalah ini di tempat pertama.
TIP PRO: Jika masalahnya ada pada komputer Anda atau laptop / notebook, Anda harus mencoba menggunakan Perangkat Lunak Reimage Plus yang dapat memindai repositori dan mengganti file yang rusak dan hilang. Ini berfungsi dalam banyak kasus, di mana masalah ini berasal karena sistem yang rusak. Anda dapat mengunduh Reimage Plus dengan Mengklik di Sini