Как тщательно очистить и переустановить postgresql на ubuntu? [закрытый]
Как-то мне удалось полностью испортить установку postgresql на Ubuntu karmic. Я хочу начать с нуля, но когда я "очищаю" пакет с apt-get, он все еще оставляет следы, так что конфигурация переустановки не работает должным образом.
после того, как я сделал:
apt-get purge postgresql
apt-get install postgresql
Он сказал
Setting up postgresql-8.4 (8.4.3-0ubuntu9.10.1) ...
Configuring already existing cluster (configuration: /etc/postgresql/8.4/main, data: /var/lib/postgresql/8.4/main, owner: 108:112)
Error: move_conffile: required configuration file /var/lib/postgresql/8.4/main/postgresql.conf does not exist
Error: could not create default cluster. Please create it manually with
pg_createcluster 8.4 main --start
or a similar command (see 'man pg_createcluster').
update-alternatives: using /usr/share/postgresql/8.4/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode.
Setting up postgresql (8.4.3-0ubuntu9.10.1) ...
у меня есть "/etc/postgresql" с ничего в нем и "/etc/ postgresql-common / " имеет 'pg_upgradecluser.д' каталог и корневой.ЭЛТ и файлы user_clusters.
в /etc / passwd есть пользователь postgres; сценарий очистки, похоже, не касается его. Там была куча симптомов, которые я работаю только для того, чтобы разоблачить следующий.
прямо сейчас, когда я запускаю эту команду " pg_createcluster..."он жалуется, что '/var/lib/postgresql/8.4/main/postgresql.conf не существует', поэтому я найду один из них, но я уверен, что это не будет конец.
есть ли какой-то простой однострочный (или два) который сожжет его полностью и позволит мне начать все сначала?
9 ответов:
во-первых: если ваша установка еще не повреждена, вы можете удалить нежелательные серверы PostgreSQL ("кластеры") в Ubuntu с помощью
pg_dropcluster. Используйте это в предпочтении к полной очистке и переустановке, если вы просто хотите начать с свежегоinitdb'д'экземпляр PostgreSQL.Если вам действительно нужно сделать полную очистку и переустановить, сначала убедитесь, что PostgreSQL не работает.
ps -C postgresне должно показывать никаких результатов.Теперь запустите:
apt-get --purge remove postgresql\*чтобы удалить все PostgreSQL из ваша система. Просто очищение
postgresпакет не достаточно, так как это просто пустой мета-пакет.после удаления всех пакетов PostgreSQL запустите:
rm -r /etc/postgresql/ rm -r /etc/postgresql-common/ rm -r /var/lib/postgresql/ userdel -r postgres groupdel postgresтеперь вы должны быть в состоянии:
apt-get install postgresqlили для полной инсталляции:
apt-get install postgresql-8.4 postgresql-contrib-8.4 postgresql-doc-8.4
у меня была аналогичная ситуация: мне нужно было очистить postgresql 9.1 на debian wheezy ( я ранее мигрировал из 8.4, и я получал ошибки ).
что я сделал:
во-первых, я удалил конфигурацию и базу данных
$ sudo pg_dropcluster --stop 9.1 mainзатем удаляется postgresql
$ sudo apt-get remove --purge postgresql postgresql-9.1и повторно
$ sudo apt-get install postgresql postgresql-9.1в моем случае я заметил /etc / postgresql/9.1 был пуст, и работает
service postgresql startничего не возвращеноИтак, после более гуглить я добрался до этой команды:
$ sudo pg_createcluster 9.1 mainС этим я мог бы запустить сервер, но теперь я получал ошибки, связанные с журналом. После дополнительного поиска я изменил разрешения на каталог /var/log/postgresql
$ sudo chown root.postgres /var/log/postgresql $ sudo chmod g+wx /var/log/postgresqlчто Исправлена проблема, надеюсь, это поможет
Я знаю, что ответ уже был предоставлен, но dselect не работал для меня. Вот что работало, чтобы найти пакеты для удаления:
# search postgr | grep ^i i postgresql - object-relational SQL database (supported i A postgresql-8.4 - object-relational SQL database, version 8. i A postgresql-client-8.4 - front-end programs for PostgreSQL 8.4 i A postgresql-client-common - manager for multiple PostgreSQL client ver i A postgresql-common - PostgreSQL database-cluster manager # aptitude purge postgresql-8.4 postgresql-client-8.4 postgresql-client-common postgresql-common postgresql rm -r /etc/postgresql/ rm -r /etc/postgresql-common/ rm -r /var/lib/postgresql/наконец, редактирование /etc / passwd и /etc / group
шагов, которые работали для меня
Ubuntu 8.04.2удалитьpostgres 8.3
Список всех пакетов, связанных с Postgres
dpkg -l | grep postgres ii postgresql 8.3.17-0ubuntu0.8.04.1 object-relational SQL database (latest versi ii postgresql-8.3 8.3.9-0ubuntu8.04 object-relational SQL database, version 8.3 ii postgresql-client 8.3.9-0ubuntu8.04 front-end programs for PostgreSQL (latest ve ii postgresql-client-8.3 8.3.9-0ubuntu8.04 front-end programs for PostgreSQL 8.3 ii postgresql-client-common 87ubuntu2 manager for multiple PostgreSQL client versi ii postgresql-common 87ubuntu2 PostgreSQL database-cluster manager ii postgresql-contrib 8.3.9-0ubuntu8.04 additional facilities for PostgreSQL (latest ii postgresql-contrib-8.3 8.3.9-0ubuntu8.04 additional facilities for PostgreSQLудалить все перечисленные выше
sudo apt-get --purge remove postgresql postgresql-8.3 postgresql-client postgresql-client-8.3 postgresql-client-common postgresql-common postgresql-contrib postgresql-contrib-8.3удалите следующие папки
sudo rm -rf /var/lib/postgresql/ sudo rm -rf /var/log/postgresql/ sudo rm -rf /etc/postgresql/
после ae шаги, которые я следовал, чтобы удалить и переустановить. Что сработало для меня.
Сначала удалите установленные postgres : -
sudo apt-get purge postgr*
sudo apt-get autoremove
затем установите 'synaptic':
sudo apt-get install synaptic
sudo apt-получить обновление
затем установить Постгрес
sudo apt-get install postgresql postgresql-contrib
Я просто столкнулся с той же проблемой для Ubuntu 13.04. Эти команды удалили Postgres 9.1:
sudo apt-get purge postgresql sudo apt-get autoremove postgresqlМне кажется, что, возможно, нужна только вторая команда, но оттуда я смог установить Postgres 9.2 (sudo apt-get install postgresql-9.2).
Я следил за ответы, При редактировании /etc / group я также удалил эту строку:
ssl-cert:x:112:postgresзатем, при попытке установить postgresql, я получил эту ошибку
Preconfiguring packages ... dpkg: unrecoverable fatal error, aborting: syntax error: unknown group 'ssl-cert' in statoverride file E: Sub-process /usr/bin/dpkg returned an error code (2)ввод строки "ssl-cert:x: 112: postgres" обратно в /etc / group, похоже, исправляет это (поэтому я смог установить postgresql)
я столкнулся с той же проблемой в моем ubuntu 16.04
но я исправил эту проблему и это очень просто, просто выполните следующие шаги, и вы сможете установить PostgreSQL 10 в вашей системе :
добавьте это в свои источники.список:
sudo vim /etc/apt/sources.list deb http://ftp.de.debian.org/debian/ wheezy main non-free contrib deb-src http://ftp.de.debian.org/debian/ wheezy main non-free contribпосле этого добавьте эти ссылки в свой pgdg.файл списка, если его там нет, вам нужно создать и добавить ссылку и сохранить ее.
sudo vim /etc/apt/sources.list.d/pgdg.list deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg mainзатем обновите свою систему
sudo apt-get update sudo apt-get upgradeи установите этот неудовлетворенный зависимости :
apt-get install ssl-certвот именно. теперь установите postgresql с помощью этой команды
sudo apt-get install postgresql-10
Comments