powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / pg_dump .pgpass
20 сообщений из 20, страница 1 из 1
pg_dump .pgpass
    #38599618
kkv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как прописать пароль в .pgpass и в какую папку положить?
...
Рейтинг: 0 / 0
pg_dump .pgpass
    #38599646
Гость_0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kkv79,

каталог зависит от операционной системы.
...
Рейтинг: 0 / 0
pg_dump .pgpass
    #38599703
kkv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ubuntu server 12.04
postgresql 9.1

делал по мануалу http://www.postgresql.org/docs/9.1/static/libpq-pgpass.html
сам файл такой
localhost:5432:dbname:postgres:pass

chmod 0600 ~/.pgpass тоже делал
файл лежит в /home/myuser/.pgpass
пробовал так
#PGPASSFILE=/home/myuser/.pgpass
#PGPASSWORD=pass

команду пишу так
pg_dump --username=postgres -w dbname
в ответ получаю
pg_dump: [archiver (db)] connection to database "dbname" failed: fe_sendauth: no password supplied
...
Рейтинг: 0 / 0
pg_dump .pgpass
    #38599712
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kkv79ubuntu server 12.04
postgresql 9.1

делал по мануалу http://www.postgresql.org/docs/9.1/static/libpq-pgpass.html
сам файл такой
localhost:5432:dbname:postgres:pass

chmod 0600 ~/.pgpass тоже делал
файл лежит в /home/myuser/.pgpass
пробовал так
#PGPASSFILE=/home/myuser/.pgpass
#PGPASSWORD=pass

команду пишу так
pg_dump --username=postgres -w dbname
в ответ получаю
pg_dump: [archiver (db)] connection to database "dbname" failed: fe_sendauth: no password supplied

попробуйте вместо localhost:5432:dbname поставить *:*:*
я что то подозреваю что у вас проблема с localhost в этой строке
...
Рейтинг: 0 / 0
pg_dump .pgpass
    #38599755
kkv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*:*:* попробовал, тоже самое...
...
Рейтинг: 0 / 0
pg_dump .pgpass
    #38599794
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kkv79*:*:* попробовал, тоже самое...

-w уберите из pg_dump command line
...
Рейтинг: 0 / 0
pg_dump .pgpass
    #38599887
kkv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk-w уберите из pg_dump command line

ну дак он запросит пароль, я его введу и он сделает бакап как полагается

а мне то нужно чтоб он пароль не спрашивал....
я хочу бакап кроном делать.....
...
Рейтинг: 0 / 0
pg_dump .pgpass
    #38599914
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kkv79Maxim Boguk-w уберите из pg_dump command line

ну дак он запросит пароль, я его введу и он сделает бакап как полагается

а мне то нужно чтоб он пароль не спрашивал....
я хочу бакап кроном делать.....

не, не должен спрашивать. сколько живу никогда не проставляю -w и все нормально читается из .pgpass.

давайте еще раз пробежимся))
1. задайте постгресовой роли пароль, через ALTER ROLE backup_user ENCRYPTED PASSWORD 'blablabla';
2. пропишите в ~user/.pgpass строку *:*:*:backup_user:blablabla
3. проверьте что .pgpass принадлежит тому юзеру от которого запускается pg_dump и имеет права 600
4. ну и запустите pg_dump -g -U backup_user (без -w)
...
Рейтинг: 0 / 0
pg_dump .pgpass
    #38599993
kkv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot daevy]kkv791. задайте постгресовой роли пароль, через ALTER ROLE backup_user ENCRYPTED PASSWORD 'blablabla';
2. пропишите в ~user/.pgpass строку *:*:*:backup_user:blablabla
3. проверьте что .pgpass принадлежит тому юзеру от которого запускается pg_dump и имеет права 600
4. ну и запустите pg_dump -g -U backup_user (без -w)

1. сделал так
Код: sql
1.
2.
3.
4.
CREATE ROLE backup_user LOGIN
  ENCRYPTED PASSWORD 'md5498b78095db1bf22a14cfeb540c612e1'
  NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT postgres TO backup_user;


2. прописал *:*:*:backup_user:passwd
захожу в ubuntu через putty
login as: kkv
kkv@10.8.0.1's password:
Welcome to Ubuntu 12.10 (GNU/Linux 3.5.0-18-generic i686)

* Documentation: https://help.ubuntu.com/
New release '13.04' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Sat Mar 29 16:57:34 2014 from 10.8.0.8
kkv@ubuntu:~$ sudo bash
[sudo] password for kkv:
root@ubuntu:~#

3. проверяю
root@ubuntu:~# ls -l ~/.pgpass
-rw------- 1 root root 26 марта 29 22:24 /home/kkv/.pgpass

4. root@ubuntu:~# pg_dump -g -U backup_user dbname
/usr/lib/postgresql/9.1/bin/pg_dump: неверный ключ — «g»
Try "pg_dump --help" for more information.

пробую без -g

4.1 root@ubuntu:~# pg_dump -U backup_user dbname
pg_dump: [archiver (db)] connection to database "dbname" failed: FATAL: Peer authentication failed for user "backup_user"

pg_hba.conf
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
# Database administrative login by Unix domain socket
local   all             postgres                                md5

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5

# все в локалке
host    all             all             192.168.1.0/24          md5
...
Рейтинг: 0 / 0
pg_dump .pgpass
    #38600022
grgdvo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kkv79,

Команду под рутом запускаете, а .pgpass у пользователя размещаете
...
Рейтинг: 0 / 0
pg_dump .pgpass
    #38600026
grgdvo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и скорее всего надо делать sudo su, чтобы попасть в рута... я с убунту мало знаком и не понимаю ее политику безопасности
...
Рейтинг: 0 / 0
pg_dump .pgpass
    #38600079
kkv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grgdvoКоманду под рутом запускаете, а .pgpass у пользователя размещаете

блин, а как быть то?
cron ведь под рутом работает, а домашней папки у рута нет в убунте
...
Рейтинг: 0 / 0
pg_dump .pgpass
    #38600108
Гость_0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kkv79, а зачем Вы cron задачу резервного копирования базы под root запускаете? Запускайте от postgres, тогда даже пароля не будет.
...
Рейтинг: 0 / 0
pg_dump .pgpass
    #38600152
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kkv79grgdvoКоманду под рутом запускаете, а .pgpass у пользователя размещаете

блин, а как быть то?
cron ведь под рутом работает, а домашней папки у рута нет в убунте

как нет???
cd ~root

в 99% случаев это будет /root/
там и надо .pgpass размещать

НО: никогда никогда не делайте подобные задачи от рута... вообще чем меньше всего у рута в кроне тем лучше... или спец пользователя заведите (без права логина) или от postgres пускайте.
...
Рейтинг: 0 / 0
pg_dump .pgpass
    #38600302
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kkv79pg_dump: [archiver (db)] connection to database "dbname" failed: FATAL: Peer authentication failed for user "backup_user"


Ну в данном случае замените в pg_hba.conf , параметр peer на md5 (ну или trust) в строке "local all all peer".
Или добавьте в pg_dump опцию -h 127.0.0.1 (т.к. для локалхоста уже проставлено md5)
ну и да, плюсую все предыдущие советы насчет выделенного юзера (из под рута запускать всякие крон задачи не комильфо)
...
Рейтинг: 0 / 0
pg_dump .pgpass
    #38600304
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а -g эта опция у pg_dumpall , немного обшибся
...
Рейтинг: 0 / 0
pg_dump .pgpass
    #38600537
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kkv79grgdvoКоманду под рутом запускаете, а .pgpass у пользователя размещаете

блин, а как быть то?
cron ведь под рутом работает, а домашней папки у рута нет в убунтепро папку рута написали.
т.ч. я о другом.
su никто не запрещал
в частности
su postgres


PS, г-да линуксо-еды, а крон другого усера под чьими правами задания сполняет? а то я как-то настраивал, и даже неоднократно, кронтабы для других усеров, а на этом вопросе как-то даже не зафиксировался. (т.е. делал ли я там su -- уже и не помню)
...
Рейтинг: 0 / 0
pg_dump .pgpass
    #38600559
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwwqkkv79пропущено...


блин, а как быть то?
cron ведь под рутом работает, а домашней папки у рута нет в убунтепро папку рута написали.
т.ч. я о другом.
su никто не запрещал
в частности
su postgres


PS, г-да линуксо-еды, а крон другого усера под чьими правами задания сполняет? а то я как-то настраивал, и даже неоднократно, кронтабы для других усеров, а на этом вопросе как-то даже не зафиксировался. (т.е. делал ли я там su -- уже и не помню)

Для управления задачами крона есть команда crontab. по умолчанию crontab -e правит список задач текущего юзера от которого запущена.
Чтобы править кронтаб (это список задач крона) для конкретного юзера используйте команду crontab -eu username запущеную от рута (рут может править кронтабы всех юзеров). Все кронтабы хранятся per-user в /var/spool/cron/.

Поэтому чтобы сделать выполнение команды бэкапа по крону от имени системного юзера postgres, нужно:
1. создать в домашнем каталоге системного юзера postgres, файл .pgpass
2. убедиться что команда бэкапа работает при ручном запуске от системного юзера postgres (через su или sudo стать постгресом и затем pg_dump ...)
3. с помощью crontab -eu postgres поместить команду в кронтаб

В смежной ветке аналогичные проблемы... крон, бэкап... почитайте))
...
Рейтинг: 0 / 0
pg_dump .pgpass
    #38600609
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daevyqwwqпропущено...
PS, г-да линуксо-еды, а крон другого усера под чьими правами задания сполняет? а то я как-то настраивал, и даже неоднократно, кронтабы для других усеров, а на этом вопросе как-то даже не зафиксировался. (т.е. делал ли я там su -- уже и не помню)

Для управления задачами крона есть команда crontab. по умолчанию crontab -e правит список задач текущего юзера от которого запущена.
Чтобы править кронтаб (это список задач крона) для конкретного юзера используйте команду crontab -eu username запущеную от рута (рут может править кронтабы всех юзеров). Все кронтабы хранятся per-user в /var/spool/cron/.

Поэтому чтобы сделать выполнение команды бэкапа по крону от имени системного юзера postgres, нужно:
1. создать в домашнем каталоге системного юзера postgres, файл .pgpass
2. убедиться что команда бэкапа работает при ручном запуске от системного юзера postgres (через su или sudo стать постгресом и затем pg_dump ...)
3. с помощью crontab -eu postgres поместить команду в кронтаб

В смежной ветке аналогичные проблемы... крон, бэкап... почитайте))гм. спасибо за напоминание
но меня интересовал определённый (см) частный вопрос
который впрочем несложно выяснить самому, но лень пока
т.е и как оно делается и где как лежит - я представляю
хотя уже и не помню
(к тому же в разных системах оно наверное по разному может быть)


а вы, кажется - мимо тазика сходили. нет ?
...
Рейтинг: 0 / 0
pg_dump .pgpass
    #38600685
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwwq,

задача исполняется под тем юзером под кем она заведена. если она в рутовом кронтабе то исполнятся будет рутом. если в постгресовом, то - постгресом.
вот именно поэтому в файлах /etc/crontab, /etc/cron.* следует указывать юзера, т.к. дефолтного юзера для выполнения задач нет (это плохо в плане безопасности).

ага точно, написал не тому, думал пишу ТС'у
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / pg_dump .pgpass
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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