准备
Alibaba Cloud Linux 版本
# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: AlibabaCloud
Description: Alibaba Cloud Linux release 3 (Soaring Falcon)
Release: 3
Codename: SoaringFalcon
PostgreSQL 版本
version
11
platform
Red Hat Enterprise, CentOS, Scientific or Oracle version 6
architecture
X86_64
安装步骤
更新yum
yum update -y
安装RPM
wget --no-check-certificate https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
rpm -ivh --force --nodeps pgdg-redhat-repo-latest.noarch.rpm
处理错误
Google后发现虽然 Alibaba Cloud Linux 兼容CentOS 8、RHEL 8软件生态,但是releasever变量获取有问题, 可以修改成8。
PostgreSQL common RPMs for RHEL/CentOS 3 - x86_64 58 B/s | 146 B 00:02
Errors during downloading metadata for repository 'pgdg-common':
- Status code: 404 for https://download.postgresql.org/pub/repos/yum/common/redhat/rhel-3-x86_64/repodata/repomd.xml (IP: 147.75.85.69)
错误:为 repo 'pgdg-common' 下载元数据失败 : Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
修改yum
sudo vim /etc/yum.repos.d/pgdg-redhat-all.repo
# Shift + :
%s/$releasever/8/g
安装数据库
sudo yum install -y postgresql11-server
初始化数据库
第一次尝试出错了
如果使用service
得安装 yum install iptables-services
,如果下载失败, 就将/etc/yum.repos.d/AliYun.repo
里面cloud.aliyuncs
修改为aliyun
,但是建议不要这么操作,直接使用下面的方式处理。
# service postgresql-11 initdb
service 命令只支持基础 LSB 动作(即 start、stop、restart、try-restart、reload、force-reload、status)。其他动作请使用 systemctl。
第二次尝试
看了下官方说明
postgresql-11-setup initdb 这里我使用的pgsql-11,所以大家得改成自己对应的数据库版本
systemctl enable postgresql-11.service
systemctl start postgresql-11.service
设置密码
# su postgres
bash-4.4$ psql postgres
psql (11.15)
postgres=# \password postgres
创建数据用户和数据库
创建用户
postgres=# create user [dbuser] with password '[****]';
CREATE ROLE
创建用户数据库
postgres=# create database [database] owner [dbuser];
给用户数据库权限
postgres=# grant all privileges on database [database] to [dbuser];
创建linux用户并用验证数据
# adduser dbuser
# password dbuser
更改用户 dbuser 的密码 。
新的 密码:
重新输入新的 密码:
# su - ivo
$ psql -d ivo
psql (11.15)
Type "help" for help.
ivo=>
安装工作全部完成了
开启远程连接
生产环境最好不要开启!!!
修改监听
# 修改配置文件
vim /var/lib/pgsql/11/data/postgresql.conf
# yy p 复制一行 #listen_addresses = 'localhost'
# 修改为 listen_addresses = '*'
修改允许访问的IP
vim /var/lib/pgsql/11/data/pg_hba.conf
# 添加下面配置
host all all 0.0.0.0/0 md5
# 重启数据库
systemctl restart postgresql-11.service
记得去配置下安全组规则,数据库端口号默认是5432,在postgresql.conf修改。
其他
这里我改过默认的端口号, 连接的时候要加上 -p
psql -d database -p [port]
- PostgreSQL 官方网站
- 搭建PostgreSQL主从架构