Как использовать pg_dump / pg_dumpall с БД postgres? - PullRequest
1 голос
/ 06 декабря 2010

Я не уверен, что проблема с разрешениями или что-то я делаю неправильно, и любая помощь будет принята с благодарностью.У меня есть выделенный сервер Ubuntu с установленной на нем Postgres DB.Я хочу сделать резервную копию базы данных, но когда я использую pg_dump, я получаю отказано в разрешении.Кто-нибудь может мне помочь?Вот несколько подробностей о моей настройке.

На postgres: У меня есть следующие базы данных.

postgres, 
template0, 
template1, 
mydb, 
mydb1

У меня есть 2 пользователя PostgreSQL

postgres, 
mydb (There are no postgresql groups defined yet)

Все остальные настройки для postgres являются значениями по умолчанию.

В моей самой Ubuntu у меня 2 пользователя.

user1,
mydb

Я вошел в систему как root / user1, используя SSH, выдал следующие команды:

$ pg_dumpall > a.sql

Я получаю, -bash: a.sql: В доступе отказано То же самое сКоманда pg_dump.

Я знаю, что здесь что-то не хватает.Может ли кто-нибудь помочь мне правильно выполнить эту команду?ТИА.

Ответы [ 2 ]

3 голосов
/ 06 декабря 2010

Я получаю, -bash: a.sql: В доступе отказано То же самое происходит с командой pg_dump.

Это больше похоже на проблему с правами доступа к файлу. Имеет ли пользователь ОС право на запись файла дампа? Проверьте права доступа к файлам / каталогам.

1 голос
/ 06 декабря 2010

Когда вы запускаете команду

pg_dumpall > a.sql

, ваша оболочка попытается создать файл a.sql в текущем каталоге .Если у вас (как «user1») нет разрешения на создание файлов в текущем каталоге, сначала используйте команду cd, чтобы перейти в каталог, к которому у вас есть разрешение.Вы можете использовать команду pwd, чтобы увидеть текущий каталог.

...