在安装多个版本的PostgreSQL时,会使用端口号5432、5433和5434来启动多个实例
环境
- LinuxMint20.1(ubuntu base linux)
确认情况
# portの使用プロセスの確認(下記のどちらか実行で良い)
sudo ss -pluten | grep 5434
sudo lsof -i:5434
$ dpkg -l | grep postgres
ii postgresql 14+231.pgdg20.04+1 all object-relational SQL database (supported version)
ii postgresql-12 12.8-1.pgdg20.04+1 amd64 The World's Most Advanced Open Source Relational Database
ii postgresql-13 13.4-4.pgdg20.04+1 amd64 The World's Most Advanced Open Source Relational Database
ii postgresql-14 14.0-1.pgdg20.04+1 amd64 The World's Most Advanced Open Source Relational Database
ii postgresql-client-12 12.8-1.pgdg20.04+1 amd64 front-end programs for PostgreSQL 12
ii postgresql-client-13 13.4-4.pgdg20.04+1 amd64 front-end programs for PostgreSQL 13
ii postgresql-client-14 14.0-1.pgdg20.04+1 amd64 front-end programs for PostgreSQL 14
$ pg_lsclusters
Ver Cluster Port Status Owner Data directory Log file
12 main 5432 online postgres /var/lib/postgresql/12/main /var/log/postgresql/postgresql-12-main.log
13 main 5433 online postgres /var/lib/postgresql/13/main /var/log/postgresql/postgresql-13-main.log
14 main 5434 online postgres /var/lib/postgresql/14/main /var/log/postgresql/postgresql-14-main.log
■コンフィグファイルのportが5432から始まり、5433,5434と上がっている(使うバージョンだけ5432にした)
/etc/postgresql/12/main/postgresql.conf
/etc/postgresql/13/main/postgresql.conf
/etc/postgresql/14/main/postgresql.conf
应对
当删除文件时的方法(由于postgresql也有相同的文件,且新文件会不断产生,所以需要删除掉)。
sudo apt-get --purge remove postgresql postgresql-12 postgresql-14 postgresql-client-12 postgresql-client-14
如果要全部抹去的话
如果要完全删除下面的内容,则会做。如果只保留特定版本,则不会删除,因为删除后数据也会消失。
sudo rm -rf /var/lib/postgresql/
sudo rm -rf /var/log/postgresql/
sudo rm -rf /etc/postgresql/
sudo deluser postgres
为什么写了这篇文章?
由于本地安装的5434端口无法启动,这让我感到困惑。
原因是PostgreSQL 14在昨天(2021年09月30日)发布,并进行了更新,使得v14在5434端口上启动。
我觉得安装后自动启动也不太好,但是同时启动多个更不好。