PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Tidak dapat terhubung ke PostgreSQL lokal

Ini benar-benar terlihat seperti kesalahan izin file. Soket domain Unix adalah file dan memiliki izin pengguna sama seperti yang lainnya. Sepertinya pengguna OSX yang mencoba mengakses database tidak memiliki izin file untuk mengakses file soket. Untuk mengonfirmasi ini, saya telah melakukan beberapa tes di Ubuntu dan psql untuk mencoba menghasilkan kesalahan yang sama (termasuk di bawah).

Anda perlu memeriksa izin pada file soket dan direktorinya /var dan /var/pgsql_socket . Aplikasi Rails Anda (pengguna OSX) harus memiliki izin eksekusi (x) pada direktori ini (sebaiknya berikan izin kepada semua orang) dan soket harus memiliki izin penuh (wrx). Anda dapat menggunakan ls -lAd <file> untuk memeriksa ini, dan jika salah satunya adalah symlink, Anda perlu memeriksa file atau direktori yang ditunjuk tautan.

Anda dapat mengubah hak akses dir untuk Anda sendiri, tetapi soket dikonfigurasi oleh postgres di postgresql.conf . Ini dapat ditemukan di direktori yang sama dengan pg_hba.conf (Anda harus mencari tahu yang mana). Setelah Anda menetapkan izin, Anda harus memulai ulang postgresql.

# postgresql.conf should contain...
unix_socket_directory = '/var/run/postgresql'       # dont worry if yours is different
#unix_socket_group = ''                             # default is fine here
#unix_socket_permissions = 0777                     # check this one and uncomment if necessary.

EDIT:

Saya telah melakukan pencarian cepat di google yang mungkin ingin Anda lihat untuk melihat apakah itu relevan. Ini mungkin menghasilkan upaya apa pun untuk find file konfigurasi Anda gagal.

http://www.postgresqlformac.com/server/howto_edit_postgresql_confi.html

Pesan kesalahan:

Pengguna tidak ditemukan di pg_hba.conf

psql: FATAL:  no pg_hba.conf entry for host "[local]", user "couling", database "main", SSL off

Otentikasi sandi pengguna gagal:

psql: FATAL:  password authentication failed for user "couling"

File soket unix tidak ada:

psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Soket Unix ada, tetapi server tidak mendengarkannya.

psql: could not connect to server: Connection refused
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Izin file buruk pada file soket unix :

psql: could not connect to server: Permission denied
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pgFincore 1.2, ekstensi PostgreSQL

  2. Membagi Data Anda Dengan PostgreSQL 11

  3. SQL, Postgres OIDs, Apa itu dan mengapa berguna?

  4. Aplikasi Boot Musim Semi macet di Hikari-Pool-1 - Memulai...

  5. Bagaimana cara bekerja dengan PGpoint untuk Geolokasi menggunakan PostgreSQL?