Назад | Перейти на главную страницу

Полностью сбросить PostgreSQL по умолчанию?

Вопрос

Есть ли способ полностью сбросить установку PostgreSQL в Linux, чтобы она находилась в том же состоянии, что и я?

Идея

Я считал

rm -rf /var/lib/pgsql/*
rm -rf /var/lib/pgsql/backups/*
rm -rf /var/lib/pgsql/data/*

но, возможно, это не рекомендуемый метод.

Цель

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

Все зависит от того, как он был установлен.

Ubuntu, из пакетов (встроенных или apt.postgresql.org)

Использовать pg_wrapper. Видеть документы Ubuntu для PostgreSQL. Вы хотите pg_dropcluster все существующие кластеры Pg, затем pg_createcluster чистый новый.

Делать не просто удалите каталог данных и перезапустите initdb.

CentOS / RH / Fedora, встроенные пакеты

У меня это не установлено, и сейчас я не могу легко протестировать. По памяти я думаю, что безопасно просто остановить сервер и удалить каталог данных.

Пакеты CentOS / RH / Fedora, yum.postgresql.org

Видеть /usr/share/doc/postgresql??-?.?.?/README.rpm-dist.

Остановите сервер с помощью systemctl или service команда оболочки, удалите каталог данных, затем запустите /usr/pgsql-9.3/bin/postgresql93-setup initdb (корректировка путей в соответствии с вашей версией).

Любой дистрибутив из установщика EDB

Остановите сервер, удалите каталог данных и initdb новый кластер. См. Документацию по установщику.

Из источника

Остановить сервер, удалить каталог данных, повторно запустить initdb.

OS X

Домашнее пиво: brew uninstall postgresql; brew cleanup; brew install postgresql

Postgres.app? Установщик EDB? MacPorts?

Найдите пиво. Пейте пиво. Повторение. Если это не избавляет от боли, возьмите что-нибудь посильнее.

Windows

  • Остановить службу
  • Удалить каталог данных
  • повторно запустить initdb, используя runas.exe как пользователь postgres (до 9.2) или NETWORKSERVICE (9.2+). Или просто смените владельца позже.

Это должно сработать - просто сначала убедитесь, что текущая конфигурация действительно делает хранить файлы в этих каталогах.

Как только это будет сделано, повторно запустите базу данных:

sudo -U pgsql initdb

Разве не лучше просто удалить и переустановить?

Таким образом, вы получите последнюю версию и попутно обновите все зависимости.

Запустите: sudo apt-get --purge remove postgresql

Затем: sudo apt-get install postgresql