На Кубунту 20.04
Прежде чем я смогу успешно запустить контейнер Docker на своем компьютере, мне нужно завершить процесс Postgres. Я делаю это так:
sudo ss -lptn 'sport = :5432'
, который выводит:
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 244 127.0.0.1:5432 0.0.0.0:* users:(("postgres",pid=1003,fd=5))
kill <pid>
Теперь я смогу запустить контейнер docker, в котором есть база данных Postgres. Я бы хотел, чтобы мне не приходилось выполнять эти шаги, прежде чем я смогу запустить любую базу данных Postgres. По какой-то причине lsof -i :5432
не возвращает процесс.
Является ли стандартным поведением Postgres работать в фоновом режиме? Безопасно ли останавливать этот процесс? Если да, как остановить автоматический запуск этого процесса в фоновом режиме?
Я попробовал следующие команды, но безуспешно:
sudo systemctl disable postgresql
sudo update-rc.d postgresql disable
решение1
Уничтожение процесса базы данных — это действительно хороший способ уничтожить базу данных. PostgreSQL не установлен по умолчанию, поэтомучто-то или кто-тодолжно быть, поместили его на машину по какой-то причине. Вам захочется подтвердить, нуждается ли что-либо в вашей системе в этом.
Однако, чтобы ответить на этот вопрос, вы можете безопасно остановить PostgreSQL следующим образом:
sudo service postgresql stop
Вы можете запретить запуск PostgreSQL при загрузке следующим образом:
sudo service postgresql disable
Если в вашей системе нет необходимости в локальной установке ядра базы данных, вы можете удалить его:
sudo apt --purge remove postgresql
Примечание:При этом удаляется только элемент сервера, а клиентские библиотеки остаются нетронутыми для подключения к установкам PostgreSQL.