Решено Как подключиться к postgres из мира (Как узнать пароль postgres)

Модератор: Модераторы разделов

Ответить
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

Решено Как подключиться к postgres из мира (Как узнать пароль postgres)

Сообщение azsx »

я установил postgresql на ubuntu из консоли. Никто меня про пароли не спрашивал. После этого под супер пользователем я захожу с sudo, то есть
sudo -u postgres psql
при этом ввожу пароль от пользователя в никс (совсем не постгрес). Я хочу открыть доступ к базе постгрепс извне (с других компов в интернете). По инструкции http://knbase.org/8 мне надо создать второго супер юзера

# Переключаемся в системного пользователя postgres
su postgres
# Создаем нового суперпользователя
createuser -P -s postgreadmin
# вводим пароль по запросу


Проблема в том, что я не знаю пароля от postgres. Как его узнать?
Также по этой инструкции предлагают в pg_hba.conf сделать следующие изменения:
hostssl all postgreadmin 0.0.0.0/0 md5
Мне бы хотелось как минимум использовать другого пользователя (реального владельца базы), а лучше всего создать отдельного пользователя test_mir, который в базе данных test_baza будет иметь доступ только на чтение таблицы test_tablica. Такое возможно или надо давать доступ только супер пользователю?
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: Решено Как подключиться к postgres из мира (Как узнать пароль postgres)

Сообщение serzh-z »

У PostgreSQL несколько методов аутентификации. Обычно для UNIX domain подключений по умолчанию задан типа аутентификации peer, что позволяет коннектится к базе толкьо из сессии юниксового пользователя postgres. Пароль в этом случае вообще не проверяется.

Если нужно выставить базу наружу для пользователя test_mir, то нужно создать такого пользователя в БД, расставить ему нужные права и добавить в pg_hba.conf нечто типа "hostssl test_baza test_mir 0.0.0.0/0 md5" или "hostssl test_baza test_mir 0.0.0.0/0 password" (нешифрованный пароль, что логичнее для коннектов hostssl). В этом случае заводить юниксового пользователя test_mir не нужно.

Для раздачи RO-прав см. "GRANT SELECT ON test_tablica TO test_mir"
Спасибо сказали:
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

Re: Решено Как подключиться к postgres из мира (Как узнать пароль postgres)

Сообщение azsx »

Я хочу подключится к БД postgreql с другого ip адреса из интернета.
на следующий код

Код: Выделить всё

<?php
ini_set('display_errors','On');
error_reporting('E_ALL');

setlocale (LC_ALL, "ru_RU.UTF-8");
header('Content-type: text/html; charset=UTF-8');
echo "hello2";
$value = $var[$key];

// Соединение, выбор базы данных
$dbconn = pg_connect("host=168.168.20.20 dbname=test_baza user=test_mir password=moi_parol") or die('Could not connect: ' . pg_last_error());

echo " world";
?>

php программа выдает ошибку

Код: Выделить всё

 Fatal error: Call to undefined function pg_connect() in /var/www/html/index.php on line 15

в то же время phpinfo выдает

Код: Выделить всё

PostgreSQL driver for PDO     Edin Kadribasic, Ilia Alshanetsky
PostgreSQL     Jouni Ahto, Zeev Suraski, Yasuo Ohgaki, Chris Kings-Lynne

а также команда

Код: Выделить всё

sudo service postgresql start
 * Starting PostgreSQL 9.3 database server                               [ OK ]

работает хорошо.
Из-за чего может бть такая ошибка?
Спасибо сказали:
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

Re: Решено Как подключиться к postgres из мира (Как узнать пароль postgres)

Сообщение azsx »

---
Судя по всему пароль для пользователя постгрес я всё таки задавал, так как со временем я его вспомнил. Строка
hostssl test_baza test_mir 0.0.0.0/0 password
полностью решила мою проблему.
зы
также надо открыть доступ извне
# В файле postgresql.conf выставляем
listen_addresses = '*'
Спасибо сказали:
Аватара пользователя
Olej
Сообщения: 659
ОС: Fedora, Mint, Debian, QNX
Контактная информация:

Re: Решено Как подключиться к postgres из мира (Как узнать пароль postgres)

Сообщение Olej »

azsx писал(а):
23.08.2015 14:51
Я хочу

azsx писал(а):
21.01.2016 07:40
Судя по всему пароль для пользователя постгрес я всё таки задавал, так как со временем я его вспомнил.


Н-да ... :blush:
Не прошло и пол-года :drinks:
Спасибо сказали:
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

Re: Решено Как подключиться к postgres из мира (Как узнать пароль postgres)

Сообщение azsx »

Olej на самом деле в упорном бою я тогда абы как ниудь настроил работу, написал сверху программу на лазарус и пхп и даже юзал базу.
Но вот недавно решил обновить скриптами. Ошибки при обновлении postgres 9.3 на 9.5 Мне на sql.ru помогали, помогали - сломали.
Начал устанавливать всё по новой. Нашел свою тему. Воткнул решено :)
Спасибо сказали:
Ответить