#sql #database #postgresql #ubuntu
#sql #База данных #postgresql #ubuntu
Вопрос:
Кажется, я не могу найти основные файлы БД моей базы данных postgresql в ubuntu. Я перечислил каталог в psql с помощью команды SHOW_DIRECTORY, и он указал мне местоположение «/var / lib /postgresql /10 / main». Но когда я захожу в этот каталог, я не вижу файлов БД, которые у меня есть. Я вижу только такие файлы, как pg_dynshmen, pg_notify, pg_stat и т. Д., А также папки — базовые и глобальные. У меня есть 4 базы данных, которые включают 2 шаблона, но ни один из них здесь. Что я делаю не так?
Ответ №1:
Подкаталог base
содержит базы данных и global
глобальные объекты (пользователи и т. Д.).
Но … НЕ занимайтесь этим напрямую. Если вы действительно не знаете, что делаете, и не восстанавливаете поврежденную базу данных, все, что вы, вероятно, сделаете, это уничтожите свои данные.
Обычно вы выполняете резервное копирование своих баз данных с pg_dump
помощью or pg_restore
или via pg_basebackup
и WAL shipping, если это то, что вы хотите сделать.
Комментарии:
1. О, так я должен сделать это ‘pg_dump -U postgres -O db -f db.sql’ в качестве владельца БД из каталога назначения?
2. ДА.
-Fc
это тоже типичный флаг для использования. Это приведет к созданию дампа «пользовательского» формата, который, грубо говоря, представляет собой архивированный дамп, из которогоpg_restore
можно извлекать фрагменты, а также восстанавливать всю базу данных.