powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Подключение к базе данных
26 сообщений из 26, показаны все 2 страниц
Подключение к базе данных
    #32276102
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Знающие люди, помогите, пожалуйста.
У меня возникла проблема с подключением к базе данных.
Я хочу протестировать скрипты на локальном сервере.
Мой комп подключен к Интернет. ОС Windows.
Постгрес установлен вместе с cygwin'ом.
Нормально запускается.
Базу данных я подняла из дампа.
Запускаю скрипт с
$conn = pg_pconnect('dbname=имя_базы user=имя_пользователя');
И база, и пользователь уже созданы

И получаю сообщение:
Warning: pg_pconnect(): Unable to connect to PostgreSQL server: could not create socket: Адрес несовместим с выбранным протоколом. (0x0000273F)

Скрипт лежит на виртуальном хосте 127.0.0.2
Хост описан правильно. Апач ошибки не выдает.

Когда я делала то же самое на компе с RedHat Linux, у меня таких проблем не возникало.

Подскажите, пожалуйста, в чем причина засорения.
...
Рейтинг: 0 / 0
Подключение к базе данных
    #32276162
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может порт указать нужно ? Или хост ?
$conn = pg_pconnect('host=localhost dbname=имя_базы user=имя_пользователя port=5432');
...
Рейтинг: 0 / 0
Подключение к базе данных
    #32284128
Фотография Niemi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поздно уже?
А каким образом запускался постгрес? Можно ли сюда строчку запуска. Думаю не хватает параметра -i
...
Рейтинг: 0 / 0
Подключение к базе данных
    #32284294
Shweik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если проблемка еще не решилась - советую проверить подключение
к постгресу например так psql.exe -h 192.168.83.1 template1
Если ответит так :
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
то
1) проверь посмотри в файле postgresql.conf насчет строчки :
tcpip_socket = true
2) Проверь установлен и запущенли cygipc:
* To build on Windows NT or Windows 2000 you need the Cygwin and cygipc
packages. See the file "doc/FAQ_MSWIN" for details.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Подключение к базе данных
    #33355650
Andrei_AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поставил PostgreSQL. Ставил и пробую все под root-ом
Пробую базу создать
# createdb mydb
createdb: could not connect to database template1: FATAL: пользователь "root" не существует

Пробую юзера создать
# createuser andrei
Shall the new user be allowed to create databases? (y/n) n
Shall the new user be allowed to create more new users? (y/n) n
createuser: could not connect to database template1: FATAL: пользователь "root" не существует

Пробую так
createdb --username=andrei mydb
createdb: could not connect to database template1: FATAL: Ident authentication failed for user "andrei"

Вообщем маразм какой-то. Как создать юзера. базу и работать нормально.
...
Рейтинг: 0 / 0
Подключение к базе данных
    #33356133
no_root
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надо это все делать под юзверем postgres. Т.е. сначала сделать
sudo -u postgres sh
или
su - postgres

он в данном случае по euid определяет юзверя
...
Рейтинг: 0 / 0
Подключение к базе данных
    #33356165
raul_83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
createdb -U postgres mydb;
createuser -U postgres myuser;

psql -U postgres tempalte1;
...
Рейтинг: 0 / 0
Подключение к базе данных
    #33356171
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no_rootНадо это все делать под юзверем postgres. Т.е. сначала сделать
sudo -u postgres sh
или
su - postgres

он в данном случае по euid определяет юзверя
Под эккаунтом любого пользователя не имеющего прав rootа.
...
Рейтинг: 0 / 0
Подключение к базе данных
    #33356829
Andrei_AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообщем пришлось разрешить пользователю postgres логинится в системе. Зайти в линухе под им. Там создал юзера root. Залогинился уже под рутом и все работает.
Но возник такой вопрос. я создал БД
# createdb mydb
все нормально, могу приконектится (psql mydb). Но хочу попробывать каким-нить граффическим приложением. Пробую Rekall - нормально, а вот pgAdmin3 выдает
Error connecting to the server: FATAL: Ident authentication failed for user "root". Почему так?
...
Рейтинг: 0 / 0
Подключение к базе данных
    #33357164
Gold Fish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в pg_hba.conf пропиши строчку

host all all 127.0.0.0/24 md5
...
Рейтинг: 0 / 0
Подключение к базе данных
    #33359808
Andrei_AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gold Fishв pg_hba.conf пропиши строчку

host all all 127.0.0.0/24 md5

Не помогло.
...
Рейтинг: 0 / 0
Подключение к базе данных
    #33360343
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrei_AI Gold Fishв pg_hba.conf пропиши строчку

host all all 127.0.0.0/24 md5

Не помогло.
Кстати, а что опцию -U у psql отменили?
Например:
Код: plaintext
1.
psql -U postgres template1
Т.е. проблема не в том, из-под какого юзера запускать, а в том, что Постгрес берет текущего пользователя системы и пытается войти под ним. Если указать другого юзверя - все работает так как надо.
...
Рейтинг: 0 / 0
Подключение к базе данных
    #33360870
Andrei_AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Про опцию -U мне известно. Но дело в том,
1. что есть юзер root. Тогда под логинам рута
psql mydb работет, но pgAdmin3 не конектится. Почему?
2. Пусть я под логинам andrei в сисеме, тогда
psql -U root (или postgres) mydb приводит к
psql: FATAL: Ident authentication failed for user "root"
Почему так?

Если сделать su - postgres
то psql mydb конектится.
Причем, пробую в Дизайнере QT присоединится, тот же ФАТАЛ.
...
Рейтинг: 0 / 0
Подключение к базе данных
    #33360878
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrei_AIПро опцию -U мне известно. Но дело в том,
1. что есть юзер root. Тогда под логинам рута
psql mydb работет, но pgAdmin3 не конектится. Почему?
2. Пусть я под логинам andrei в сисеме, тогда
psql -U root (или postgres) mydb приводит к
psql: FATAL: Ident authentication failed for user "root"
Почему так?

Если сделать su - postgres
то psql mydb конектится.
Причем, пробую в Дизайнере QT присоединится, тот же ФАТАЛ.
А если еще и -W поставить? Т.е. запрос на введение пароля?
...
Рейтинг: 0 / 0
Подключение к базе данных
    #33361091
Andrei_AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дело в том, что рута я без пароля создовал (в постгреде имю ввиду а не в системе). Вот для полноты картины, логиелся в систему как root, здесь результат неких манипуляций в консоли, с пояснениями после //

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
Pult- 01 :~ # psql mydb
Welcome to psql  8 . 0 . 1 , the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

mydb=# SELECT * FROM pg_user; //хочу глянут юзеров
 usename  | usesysid | usecreatedb | usesuper | usecatupd |  passwd  | valuntil | useconfig
----------+----------+-------------+----------+-----------+----------+----------+-----------
 postgres |         1  | t           | t        | t         | ******** |          |
 root     |       100  | t           | t        | t         | ******** |          |
( 2  rows)

mydb=# CREATE USER andrei; //создаю андрея, бе пароля и т.д.
CREATE USER
mydb=# SELECT * FROM pg_user;
 usename  | usesysid | usecreatedb | usesuper | usecatupd |  passwd  | valuntil | useconfig
----------+----------+-------------+----------+-----------+----------+----------+-----------
 postgres |         1  | t           | t        | t         | ******** |          |
 root     |       100  | t           | t        | t         | ******** |          |
 andrei   |       101  | f           | f        | f         | ******** |          |
( 3  rows)

mydb=# \q
Pult- 01 :~ # psql -U andrei mydb
psql: FATAL:  Ident authentication failed for user "andrei" //Почему ФАТАЛ этот
Pult- 01 :~ # su - andrei //ладно логинюсь андрем (такой юзер есть в системе)
andrei@Pult- 01 :~> psql mydb //все ок уже
Добро пожаловать в psql  8 . 0 . 1  - Интерактивный Терминал PostgreSQL.

Наберите:  \copyright для условий распространения
           \h для подсказки по SQL командам
           \? для подсказки по командам psql
           \g или наберите ";" для завершения запроса и его выполнения
           \q для выхода

mydb=> \q
andrei@Pult- 01 :~> psql -U root mydb;
psql: FATAL:  Ident authentication failed for user "root" //но на тебе, вот это уже
andrei@Pult- 01 :~> logout
Pult- 01 :~ #

а pgAdmin вообже не конектится.
...
Рейтинг: 0 / 0
Подключение к базе данных
    #33361397
Фотография v6y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrei_AI Gold Fishв pg_hba.conf пропиши строчку

host all all 127.0.0.0/24 md5

Не помогло.
В данном случае при коннекте надо параметр -h 127.0.0.1 указывать (под Линуксом, под Виндой не знаю - там unix socket-ов вроде нету и может там всегда коннект по localhost-у). Кроме того играет роль положение этой строчки в файле pg_hba.conf. Можно также попробовать в этом файле первой незакоментированной строкой прописать
Код: plaintext
1.
local   all         all                                             trust
Тогда psql -U anyuser anydb должно пускать любого пользователя без пароля. (После изменения конфигурации под Линуксом нужно перегрузить или HUP-нуть postgres)
...
Рейтинг: 0 / 0
Подключение к базе данных
    #33361553
Andrei_AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно также попробовать в этом файле первой незакоментированной строкой прописать
Код: plaintext
1.
local   all         all                                             trust
Тогда psql -U anyuser anydb должно пускать любого пользователя без пароля. (После изменения конфигурации под Линуксом нужно перегрузить или HUP-нуть postgres)[/quot]

О, спасибо. Одно чудо свершилось. Теперь psql -U любойюзер mydb конектится.

А что теперь можно по поводу pgAdmin, он не конектится по прежнему. Выдает все тот же Error connecting to the server: FATAL: Ident authentication failed for user ... . Хотя в QT вроде конект идет. Rekall тоже конектится.
...
Рейтинг: 0 / 0
Подключение к базе данных
    #33361995
Фотография v6y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrei_AI
А что теперь можно по поводу pgAdmin, он не конектится по прежнему. Выдает все тот же Error connecting to the server: FATAL: Ident authentication failed for user ... . Хотя в QT вроде конект идет. Rekall тоже конектится.
Чтоб что-то сказать нужно знать какие параметры коннекта pgAdmin используются (адрес, пользователь, база данных, etc) и видеть содержимое файла pg_hba.conf
...
Рейтинг: 0 / 0
Подключение к базе данных
    #33362046
XP_USER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andrei_AI это я, только зарегистрированный.

v6yЧтоб что-то сказать нужно знать какие параметры коннекта pgAdmin используются (адрес, пользователь, база данных, etc) и видеть содержимое файла pg_hba.conf

Что ввожу см. на скрине. Пояснение что psql -U andrei mydb проходит нормально.

pg_hba.conf:

# TYPE DATABASE USER CIDR-ADDRESS METHOD

local all all trust
# "local" is for Unix domain socket connections only
local all all ident sameuser
# IPv4 local connections:
host all all 127.0.0.1/32 ident sameuser
# IPv6 local connections:
host all all ::1/128 ident sameuser
...
Рейтинг: 0 / 0
Подключение к базе данных
    #33362072
Фотография v6y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XP_USER
Что ввожу см. на скрине. Пояснение что psql -U andrei mydb проходит нормально.

pg_hba.conf:

# TYPE DATABASE USER CIDR-ADDRESS METHOD

local all all trust
# "local" is for Unix domain socket connections only
local all all ident sameuser
# IPv4 local connections:
host all all 127.0.0.1/32 ident sameuser
# IPv6 local connections:
host all all ::1/128 ident sameuser

Как уже было указано выше:
Код: plaintext
1.
host    all         all          127 . 0 . 0 . 1 / 32           ident sameuser
заменить на
Код: plaintext
1.
host    all         all          127 . 0 . 0 . 1 / 32           md5 #или password
При этом пользователь должен иметь пароль. Можно опять же вместо md5 поставить trust , тогда все будут ходить без пароля.

С postgres-ом идут доки в которых очень подробно все это расписано.
...
Рейтинг: 0 / 0
Подключение к базе данных
    #33362117
XP_USER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
v6y Все заработало.
Всем ОГРОМНОЕ спасибо.
...
Рейтинг: 0 / 0
Подключение к базе данных
    #33367028
XP_USER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, погмогите еще плиз.
Хочу приконектится к удаленной машине. Не получается, пробую локальна такую вещь. Вот мой pg_hba.conf

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

local   all         all                               trust
# "local" is for Unix domain socket connections only
#local   all         all                               ident sameuser
# IPv4 local connections:
host    all         all          192 . 168 . 1 . 0 / 24           trust
host    all         all          127 . 0 . 0 . 1 / 32           trust
# IPv6 local connections:
host    all         all         :: 1 / 128                ident sameuser

Мой IP 192.168.1.222. Пробую конектится указывая 127.0.0.1 - все ок, указываю 192.168.1.222 - пишет, could not connect to server: Connection refused
Is the server running on host "192.168.1.222" and accepting
TCP/IP connections on port 5432?

Чего так?
...
Рейтинг: 0 / 0
Подключение к базе данных
    #33367086
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
postgres как запущен? Должен с ключиком "-i"

postgres -i -D DATA -S
...
Рейтинг: 0 / 0
Подключение к базе данных
    #33367166
XP_USER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все, еще раз всем спасибо. Проблема решена. В файле postgresql.conf поставил listen_addresses = '*'
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Подключение к базе данных
    #38800533
Фотография des1roer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может не по теме - но как проверить есть ли сервер постгрес в сети. проблема следующая - ставлю программу на дальний комп, там сеть так себе. непонятно может ли он оттуда достучать до постгреса. вот и хочу узнать где ошибка - в проге или в сети? решения вроде поставить пг админ не предлагать. желательно через командную строку как нить
...
Рейтинг: 0 / 0
Подключение к базе данных
    #38800607
Dim666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
des1roer,

"man telnet", "man psql"
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Подключение к базе данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]