ubantu 安装和卸载postgresql

安装postgresql
首先查看pg服务是否存在,如果已存在,需要先卸载再安装(需要卸载请参考卸载pg的文段),执行以下命令

sudo service postgresql status
执行以下命令安装

sudo apt install postgresql postgresql-contrib
###安装postgresql 以及 postgresql contrib(额外特性)
等待安装完成,执行下面命令查看pg服务是否正常

sudo service postgresql statussudo service postgresql status
##查看你pg版本执行,psql --version


pg服务正常,使用apt安装这里有个坑,需要修改pg的配置文件,避免后期重启后pg没有正确运行在其配置的端口上,会以下错误

connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?,

修改/etc/postgresql/12/main/postgresql.conf

sudo vi /etc/postgresql/<版本>/main/postgresql.conf
###默认是unix_socket_directories = '/var/run/postgresql'
#######将unix_socket_directories的值改成tmp,unix_socket_directories = '/tmp'
接着停止pg再启动

sudo service postgresql stop
sudo service postgresql start
##设置开机自启动
sudo systemctl enable postgresql
创建超级用户root

首先登陆pg

sudo -u postgres psql
再创建超级用户

CREATE ROLE root superuser PASSWORD '123456789' login;
如果已存在则修改密码

ALTER USER root WITH PASSWORD '123456789';
开启远程访问
修改pg_hba.conf

sudo vi /etc/postgresql/<版本>/main/pg_hba.conf
###将下面内容加入
# IPv4 local connections:
host all all 0.0.0.0/0 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
host all all 0.0.0.0/0 md5
修改postgresql.conf

sudo vi /etc/postgresql/<版本>/main/postgresql.conf
###找到listen_addresses,把前面的注释去掉,并修改成listen_addresses = '*'
重启pg服务

sudo service postgresql stop
sudo service postgresql start
卸载postgresql
首先停止pg服务

service postgresql stop
##如果和开机启动相关,需要删除开机启动
sudo systemctl stop postgresql
sudo systemctl disable postgresql
删除对应的配置文件,如果需要备份数据文件请卸载前先到数据库查看数据保存的路径,复制整个文件夹或者使用pg_dump、pg_dumpall进行备份,详情参考官网

使用apt卸载

sudo apt-get purge 'postgresql-*'
sudo apt-get autoremove 'postgresql-*'
sudo rm -r /etc/postgresql/
sudo rm -r /etc/postgresql-common/
sudo rm -r /var/lib/postgresql/
sudo userdel -r postgres
sudo groupdel postgres
此卸载命令有风险,会把所有关联到该数据库的所有服务都卸载,慎用,如果没有把握的情况下,请单独卸载postgresql服务,将sudo apt-get purge 'postgresql-*'和sudo apt-get autoremove 'postgresql-*'替换成sudo apt-get --purge remove postgresql和sudo apt-get autoremove 'postgresql',但是单独卸载会出现卸载不干净的情况,权衡选择。
————————————————
版权声明:本文为CSDN博主「Hubert2022」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_54384255/article/details/122238021

posted @ 2022-08-28 23:12  郑道杰  阅读(844)  评论(0编辑  收藏  举报