Как перенести базу postgresql на другой диск?

привет. переношу базу postgresql 15 версии в centos 9 на другой диск по данной статье https://www.digitalocean.com/community/tutorials/h....
Пытаюсь сделать все скриптом. Остановился на запуске службы sudo systemctl start postgresql с такой ошибкой:
× postgresql-15.service - PostgreSQL 15 database server
     Loaded: loaded (/usr/lib/systemd/system/postgresql-15.service; enabled; preset: disabled)
     Active: failed (Result: exit-code) since Sun 2023-06-04 21:10:55 +08; 22s ago
       Docs: https://www.postgresql.org/docs/15/static/
    Process: 10980 ExecStartPre=/usr/pgsql-15/bin/postgresql-15-check-db-dir ${PGDATA} (code=exited, status=1/FAILURE)
        CPU: 16ms

июн 04 21:10:55 asus systemd[1]: Starting PostgreSQL 15 database server...
июн 04 21:10:55 asus postgresql-15-check-db-dir[10980]: "/var/lib/pgsql/15/data/" is missing or empty.
июн 04 21:10:55 asus postgresql-15-check-db-dir[10980]: Use "/usr/pgsql-15/bin/postgresql-15-setup initdb" to initialize the database cluster.
июн 04 21:10:55 asus postgresql-15-check-db-dir[10980]: See /usr/share/doc/postgresql15/README.rpm-dist for more information.
июн 04 21:10:55 asus systemd[1]: postgresql-15.service: Control process exited, code=exited, status=1/FAILURE
июн 04 21:10:55 asus systemd[1]: postgresql-15.service: Failed with result 'exit-code'.
июн 04 21:10:55 asus systemd[1]: Failed to start PostgreSQL 15 database server.

а вот код команды который пытаюсь выполнить в пункте 4: https://github.com/David138it/Bash-Scripts/blob/ma...
как можно решить такую проблему? единственное заметил, что отличие от статьи в том что конфигурация файла postgresql находится в другом месте, очевидно из-за того что в статье centos другой версии 6/7/8.
  • Вопрос задан
  • 991 просмотр
Пригласить эксперта
Ответы на вопрос 2
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Перенесите на другой диск, а в старом каталоге оставьте симлинк - тогда и перенастраивать ничего не придётся.
Ответ написан
Lorien_Elf
@Lorien_Elf
Keep calm and drop database
Проблема в том, что вы переносите БД в Centos, но мануал от Ubuntu.

Чтобы перенести базу в новый каталог нужно:
  1. sudo systemctl stop postgresql-15
  2. Выполнить перемещение каталога PGDATA
  3. sudo systemctl edit postgresql-15
  4. Добавить строки:
    [Service]
    Enviroinment=PGDATA=/path/to/new/pgdata

  5. sudo systemctl daemon-reload
  6. sudo systemctl start postgresql-15


И не забудьте у себя в окружении поправить переменную PGDATA, чтобы осталась возможность локально подключаться к экземпляру БД.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы