Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: PostgreSQL cron backup  (Прочитано 1764 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Antares111

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
PostgreSQL cron backup
« : 29 Марта 2019, 13:59:53 »
Необходима банальный бекап базы в cron. Запускать буду от root, будет выполняться скрипт
#!/bin/sh
pg_dump -Fc base_testPG1 -U user1 > /BD/backup/base_testPG1_$(date +%Y-%m-%d).dump
exit 0
сделал файл для паролей /root/.pgpass
содержимое
127.0.0.1:5432:base_testPG1:user1:pass12выполняю, пишет
pg_dump: [архиватор (БД)] не удалось подключиться к базе "base_testPG1": ВАЖНО: пользователь "user1" не прошёл проверку подлинности (Peer)Думал может не видит эту переменную скрипт
Добавил в /etc/environment (путь к файлу /root/.pgpass)
export PGPASSFILE='/root/.pgpass'
Подскажите что делаю не так...
« Последнее редактирование: 29 Марта 2019, 14:05:21 от Antares111 »

Оффлайн Antares111

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: PostgreSQL cron backup
« Ответ #1 : 01 Апреля 2019, 12:02:11 »
Немого разобрался. Сообщение типа «ВАЖНО: пользователь "user1" не прошёл проверку подлинности (Peer)» означает что пользователь попадает под правило c peer, в свою очередь значит он должен быть как пользователь в системе. Если взглянуть на мой pg_hba.conf он дефолтный, но

local   all             postgres                                peer
#добавил это#
local   base_testPG1      user1                                 md5
#############
local   all             all                                     peer
host    all             all             0.0.0.0/0               md5
host    all             all             ::1/128                 md5

по сути означает что для удалёного подключения к базе по IP/TCP было правило (которое с маской 0.0.0.0/0)
а для локального подключения нет ничего. Поэтому нужно добавить

local   base_testPG1      user1                                 md5
IP для ограничения там нельзя писать


Также заменил /root/.pgpass
*:*:base_testPG1:user1:pass123IP и порт там никчему

 

Страница сгенерирована за 0.042 секунд. Запросов: 25.