PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Не може да се свърже с локалния PostgreSQL

Това наистина изглежда като грешка в разрешенията на файлове. Unix домейн сокети са файлове и имат потребителски разрешения, както всеки друг. Изглежда, че потребителят на OSX, който се опитва да осъществи достъп до базата данни, няма разрешения за файл за достъп до файла на сокета. За да потвърдя това, направих някои тестове на Ubuntu и psql, за да се опитам да генерирам същата грешка (включена по-долу).

Трябва да проверите разрешенията за сокет файла и неговите директории /var и /var/pgsql_socket . Вашето приложение Rails (потребител на OSX) трябва да има разрешения за изпълнение (x) в тези директории (за предпочитане да предостави на всички разрешения) и сокетът трябва да има пълни разрешения (wrx). Можете да използвате ls -lAd <file> за да ги проверите и ако някой от тях е символна връзка, трябва да проверите файла или директорията, към която сочи връзката.

Можете да промените разрешенията за директорията за себе си, но сокетът се конфигурира от postgres в postgresql.conf . Това може да бъде намерено в същата директория като pg_hba.conf (Трябва да разберете коя). След като зададете разрешенията, ще трябва да рестартирате 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.

РЕДАКТИРАНЕ:

Направих бързо търсене в Google, което може да искате да разгледате, за да видите дали е свързано. Това може да доведе до всеки опит за find вашият конфигурационен файл е неуспешен.

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

Съобщения за грешки:

Потребител не е намерен в pg_hba.conf

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

Удостоверяване на паролата с неуспешна потребителска парола:

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

Липсващ unix сокет файл:

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"?

Unix сокетът съществува, но сървърът не го слуша.

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"?

Лоши разрешения за файл на 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. PostgreSQL - ГРЕШКА:датата на колоната не може да бъде прехвърлена към тип дата

  2. Как да вмъкнете данни в таблица с помощта на съхранени процедури в postgresql

  3. Съхранение на изображения в bytea полета в PostgreSQL база данни

  4. PostgreSQL 11:Какво ново

  5. Създайте база данни на Postgres с помощта на python