я установил 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. Такое возможно или надо давать доступ только супер пользователю?
Решено Как подключиться к postgres из мира (Как узнать пароль postgres)
Модератор: Модераторы разделов
- serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
- Контактная информация:
Re: Решено Как подключиться к postgres из мира (Как узнать пароль postgres)
У 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"
Если нужно выставить базу наружу для пользователя 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"
Спасибо сказали:
Re: Решено Как подключиться к postgres из мира (Как узнать пароль postgres)
Я хочу подключится к БД postgreql с другого ip адреса из интернета.
на следующий код
php программа выдает ошибку
в то же время phpinfo выдает
а также команда
работает хорошо.
Из-за чего может бть такая ошибка?
на следующий код
Код: Выделить всё
<?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 ]
работает хорошо.
Из-за чего может бть такая ошибка?
Re: Решено Как подключиться к postgres из мира (Как узнать пароль postgres)
---
Судя по всему пароль для пользователя постгрес я всё таки задавал, так как со временем я его вспомнил. Строка
hostssl test_baza test_mir 0.0.0.0/0 password
полностью решила мою проблему.
зы
также надо открыть доступ извне
# В файле postgresql.conf выставляем
listen_addresses = '*'
Судя по всему пароль для пользователя постгрес я всё таки задавал, так как со временем я его вспомнил. Строка
hostssl test_baza test_mir 0.0.0.0/0 password
полностью решила мою проблему.
зы
также надо открыть доступ извне
# В файле postgresql.conf выставляем
listen_addresses = '*'
Re: Решено Как подключиться к postgres из мира (Как узнать пароль postgres)
Olej на самом деле в упорном бою я тогда абы как ниудь настроил работу, написал сверху программу на лазарус и пхп и даже юзал базу.
Но вот недавно решил обновить скриптами. Ошибки при обновлении postgres 9.3 на 9.5 Мне на sql.ru помогали, помогали - сломали.
Начал устанавливать всё по новой. Нашел свою тему. Воткнул решено
Но вот недавно решил обновить скриптами. Ошибки при обновлении postgres 9.3 на 9.5 Мне на sql.ru помогали, помогали - сломали.
Начал устанавливать всё по новой. Нашел свою тему. Воткнул решено