Postgresql удаление табличного пространства без запуска службы - PullRequest
0 голосов
/ 04 октября 2018

Во время процедуры сброса нам также необходимо сбросить базу данных PostgreSQL (в Gentoo), это означает, что очистка данной базы данных завершена.За это время у нас есть доступ только к файловой системе .Как указано в документации и доказано на практике - простое удаление файлов табличного пространства не работает и не является хорошей идеей.

Удаление должно произойти до запуска приложения и подключения к базе данных.

Второй трудностью было создание сценария в init.d, который ожидает запуска процесса PostgreSQL, а затем запускает известную базу данных drop и оператор dro tablespace: echo 'DROP DATABASE foo; \n DROP TABLESPACE foo' | psql -U postgres.

Есть ли лучший способ или что-то вроде каталога для запуска PostgreSQL?

1 Ответ

0 голосов
/ 04 октября 2018

Вы не можете удалить данные в файловой системе, вам придется делать это с помощью SQL, как вы видите.Чтобы подключиться к автозагрузке, вам придется взломать C и, вероятно, изменить PostgreSQL.

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

...