环境:CentOS8.1
版本:PostgreSQL 12
如果之前安装PostgreSQL,需要将其卸载,然后再安装新的版本。
1.安装步骤:
1.打开终端,登录root用户
2.登录PostgreSQL YUM 官网,结合自己Linux版本以及想安装的PostgreSQL版本复制相应的rpm链接。在命令行输入以下命令,导入yum源。
yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
3.安装PostgreSQL服务
yum install postgresql12-server postgresql12
如果安装其他版本,把12改成相应的数字即可。
如:安装PostgreSQL 9.5就是 yum install postgresql95 postgresql95-server
我在安装的过程中出现了找不到server的错误,可尝试以下的解决办法。
如果出错:
可以试一下下面的解决办法:
1.yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2.yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
3.yum -y install yum-utils
4.yum-config-manager --enable pgdg12
5.yum install postgresql12-server postgresql12
2.初始化数据库:
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
#Initializing database ... OK
PostgreSQL安装成功之后,会默认创建一个名为postgres的Linux用户,初始化数据库后,会有名为postgres的数据库,来存储数据库的基础信息,例如用户信息等等。
postgres数据库会初始化一名超级用户postgres。
3.启动PostgreSQL服务:
#启动PostgreSQL服务
sudo systemctl start postgresql-12
#设置PostgreSQL服务为开机启动,这样就不用输入密码登录PostgreSQL
sudo systemctl enable postgresql-12
配置远程访问
1.开放端口
sudo firewall-cmd --add-port=5432/tcp --permanent
sudo firewall-cmd --reload
2.修改IP绑定
#修改配置文件
vi /var/lib/pgsql/12/data/postgresql.conf
#将监听地址修改为*
#默认listen_addresses配置是注释掉的,所以可以直接在配置文件开头加入该行
listen_addresses='*'
3.允许所有IP访问
#修改配置文件
vi /var/lib/pgsql/12/data/pg_hba.conf
#在问价尾部加入
host all all 0.0.0.0/0 md5
4.重启PostgreSQL服务
#重启PostgreSQL服务
sudo systemctl restart postgresql-12
1.进入PostgreSQL命令行
通过su命令切换linux用户为postgres会自动进入命令行
su postgres
2.启动SQL Shell
启动以后,就可以执行SQL语句了
psql
命令行窗口出现“postgres=#",意味着连接成功了。
另,为了方便使用postgres账号进行管理,可以修改该账号的密码:
ALTER USER postgres WITH PASSWORD '设置的密码';