PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。PostgreSQL 开发者把它念作 post-gress-Q-L
。
如果之前使用的是MySQL,当切换为PostgreSQL的时候虽然大部分语法是一样的,但是还是有部分是有区别的。下面我们在CentOS7上安装PostgreSQL13。
下载安装
下载页面https://www.postgresql.org/download/linux/redhat ;
如何是其他系统的请选择其他系统的版本。在下载会有相关的安装说明。
执行如下命名进行安装:
# 安装RPM仓库
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# 安装 PostgreSQL
sudo yum install -y postgresql13-server
配置数据库
# 初始化数据库信息;前面的数据库配置初始化配置信息的目录
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
# 启动服务
sudo systemctl enable postgresql-13
sudo systemctl start postgresql-13
查看安装的版本
psql --version
开启外网访问,允许root用户登陆
注意PostgreSQL在安装的时候会创建一个postgres的用户,如果登陆数据库必需切换到postgres;为了方便操作我们做如下配置修改来允许root用户来操作。
# 切换到postgres用户
su - postgres
# 数据安装在/var/lib/pgsql/data目录下,
cd /var/lib/pgsql/data/13
修改pg_hba.conf配置文件
vim pg_hba.conf
# 修改里面的 local all all peer 改为
local all all trust
# 为了可以外网访问,将 127.0.0.1/0改为 0.0.0.0/0
host all all 0.0.0.0/0 scram-sha-256
编辑postgresql.conf文件,修改监听地址
listen_addresses = '*'
之后重启数据库;通过netstat -nat命令可以看到5432端口监听IP已经变了
systemctl restart postgresql-13
登陆数据库,修改数据登陆密码
psql -U postgres
修改登陆密码
alter user postgres with password '你想设置的密码';
之后即可通过postgres和你设置的密码来登陆
登陆的提示 no pg_hba. conf entry for host … ;这种情况就是刚刚设置的pg_hba.conf里面的IP没有正确;