1.1. 从官网下载
PostgreSQL: Downloads
1.2. 公司现有安装包(公司有的最好选择公司的简单安全)
pgsql10.4_rpm_pkgs.tar.gz
1.3. 把安装包上传到Linux 服务器上,解压,linux 命令如下
tar -zxvf pgsql10.4_rpm_pkgs.tar.gz
解压后在登录用户的当前路径下,总共有6个rpm 包:
以下各命令执行需要有root 权限,本文在有创建postgres用户前提下。
rpm -ivh *.rpm
* 安装顺序如下:
如果没按顺序会提醒依赖问题,不知道顺序就自己摸索了。会有缺少依赖的情况自己yum 安装,见下文
2.1.1 安装中问题解决
安装postgresql10-devel-10.4-1PGDG.rhel7.x86_64.rpm 时出现缺少依赖包 libicu-devel的情况,执行yum 安装,然后再重新执行rpm 安装即可,命令如下:
yum -y install libicu libxslt-devel
安装后路径:
安装完成后继续下一步,初始化数据库……
正常初始化数据库到 /var/lib/pgsql/10/data ,这里我改了路径,按自己情况
./initdb -D /home/postgresql/data/
改了默认路径就要修改配置 /usr/lib/systemd/system/postgresql-10.service
# 启动数据库
systemctl start postgresql-10
# 开机启动
systemctl enable postgresql-10.service
# 如果修改了安装地址要重新加载配置
systemctl daemon-reload
# 查看数据库状态
systemctl status postgresql-10
vi /home/data/postgresql.conf (这个在自己安装的data路径下,直接打开编辑也可以)
把listen_addresses 的值从localhost改为*, 允许任意ip连接数据库。
* 注意前面的注释符# 要去掉!!!
listen_addresses = '*'
vi /home/postgresql/data/pg_hba.conf (同上一步的路径下)
把下图中灰色部分127.0.0.1/32 改为 0.0.0.0/0
host all all 0.0.0.0/0 md5
systemctl restart postgresql-10
sudo netstat -tnlp | grep :5432
127.0.0.1:5432 是错误的,0.0.0.0:5432才是正确的。
错误情况下重新检查步骤2.5 和 2.6 的配置,修改后重启postgres再查看结果。
至此安装配置完成。
PostgreSQL会创建一个默认的linux用户postgres,修改该用户密码的方法如下:
步骤一:删除用户postgres的密码
sudo passwd -d postgres
步骤二:设置用户postgres的密码
sudo -u postgres passwd
系统提示输入新的密码
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
步骤一:登录PostgreSQL后台
sudo -u postgres psql
步骤二:执行更新密码命令,以下 xxxxx 替换成自己的,最好不要全数字以免被攻击!
ALTER USER postgres WITH PASSWORD 'xxxxx';