0
点赞
收藏
分享

微信扫一扫

Alibaba Cloud Linux 安装 PostgreSQL 数据库

准备

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 版本

version11
platformRed Hat Enterprise, CentOS, Scientific or Oracle version 6
architectureX86_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]

  1. PostgreSQL 官方网站
  2. 搭建PostgreSQL主从架构
举报

相关推荐

0 条评论