/etc/servicesє лише дорадчою, це перелік відомих портів. Це не означає, що на цьому порту насправді працює що-небудь або що названа служба працюватиме на цьому порту.
У випадку PostgreSQL типово використовувати порт 5432, якщо він є. Якщо це не так, більшість установців виберуть наступний безкоштовний порт, як правило, 5433.
Ви можете побачити, що насправді працює за допомогою netstatінструменту (доступний в OS X, Windows та Linux, причому синтаксис командного рядка змінюється на всіх трьох).
Це ще більше ускладнюється в системах Mac OS X жахливим безладом різних пакетів PostgreSQL - старовинною версією PostgreSQL від Apple, вбудованою в ОС, Postgres.app, Homebrew, Macports, установщиком EnterpriseDB тощо, тощо.
У кінцевому підсумку відбувається те, що користувач встановлює Pg і запускає сервер з однієї упаковки, але використовує psqlі libpqклієнта з іншої упаковки. Зазвичай це відбувається під час роботи Postgres.app або Pg homebrew та підключення до тієї, psqlщо постачається з ОС. Мало того, що у них іноді є різні порти за замовчуванням, але у Pg, який постачається з Mac OS X, є інший шлях до роз'єму unix за замовчуванням , так що навіть якщо сервер працює на одному порту, він не буде слухати той же сонікс-сокет.
Більшість користувачів Mac працюють над цим, просто використовуючи tcp / ip з psql -h localhost. Ви також можете вказати порт, якщо потрібно, наприклад psql -h localhost -p 5433. У вас може працювати декілька екземплярів PostgreSQL, тому переконайтеся, що ви підключаєтесь до потрібного за допомогою select version()та SHOW data_directory;.
Ви також можете вказати каталог Unix socket; перевірити unix_socket_directoriesналаштування екземпляра PostgreSQL, до якого ви хочете підключитися, і вкажіть це psql -h, наприклад, наприклад psql -h /tmp.
Більш чистим рішенням є виправлення вашої системи PATHтаким чином, що psqlта, libpqпов’язане з PostgreSQL, який ви насправді виконуєте, - це те, що знайдено першим у PATH. Деталі цього залежать від вашої версії Mac OS X та пакетів Pg, які ви встановили. Я не використовую Mac і не можу запропонувати набагато більше деталей з цього боку, не витрачаючи більше часу, ніж зараз є.
PGPORT: postgresql.org/docs/current/static/libpq-envars.html