[PostgreSQL] 阿里云ECS, CentOS,PostgreSQL11安装

阿里云ESC服务器环境: CentOS7.6

PostgreSQL : 11

墙裂推荐一下:
https://www.postgresql.org/download/linux/redhat/

然后选择对应的操作系统和版本。


image.png

Select version: 11

Select platform:CentOS

Select architecture:x86_64
然后跟着下面的步骤进行执行语句

yum install -y https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm 

然后
安装客户端

yum install -y postgresql11 

选装 服务端

yum install -y postgresql11-server 

安装 扩展控制

 yum search contrib #用于检索扩展控制的版本

 yum -y install postgresql11-contrib.x86_64 #安装对应版本的扩展控制,一定要安装啊。不然用很多语句没法用哦

发现什么?? yum install 后面多了 -y
为的是自动安装了。

初始化

/usr/pgsql-11/bin/postgresql-11-setup initdb

初始化数据库命令会在 /var/lib/pgsql 目录下创建名称为11文件夹,11为数据库版本,如果安装的是其他版本,对应的是其版本号(9.4、9.5);这里如果已经有对应版本的文件夹了,初始化这一步会报错,需要你自行去删除对应的文件夹,再去初始化。

配置随服务器启动、启动服务

systemctl enable postgresql-11
systemctl start postgresql-11

安装完毕,作为一个远程开发数据库(个人不喜欢在自己的电脑上安装数据库)。
别急
默认会创建一个名为postgres的linux登录用户,这里进行密码修改
(注意,这里修改的是linux登陆的账号密码,不是数据库的)

passwd postgres

那么需要开放端口出来了。
首先到ECS的安全组的策略里面添加端口策略。
安全组->配置规则->添加安全组规则


image.png

系统自动帮我们填写好其他选项。
授权对象填入 0.0.0.0/0 表明所有的IP都可以访问


image.png

生产环境下就必须限定内网进行访问指定IP 或者指定访问可以的对象。
保存。
然后开始到服务器上进行修改postgreSQL的配置文件
安 装PostgreSQL数据库之后,默认是只接受本地访问连接。如果想在其他主机上访问PostgreSQL数据库服务器,就需要进行相应的配置。
需要修改/var/data目录下的pg_hba.conf和postgresql.conf

cd var/lib/pgsql/11/data
vim postgresql.conf
image.png

修改localhost为*

然后保存退出 :wq

接着修改
同样目录下,对pg_hba.conf文件进行编辑

vim pg_hba.conf
image.png

然后保存退出 :wq

重新启动服务

systemctl restart postgresql-11

然后我们用客户端登陆

推荐一下官方的 https://www.pgadmin.org/ 这个安装就没有什么可以说的了 选择自己电脑适合的版本。下一步下一步就好了。

主要问题是:最好在装完以后添加一个pgsql的管理员帐号,否则pgadmin 不让登陆
这个时候我们去到创建一些帐号了
我们进入到

su - postgres
psql
create user "buddyUser" with password '12345';
create database "myDB" owner "buddyUser";
grant all privileges on database "myDB" to "buddyUser";

打完收工!
注意 password 是单引号哦
完美的链接上去了。

你可能感兴趣的:([PostgreSQL] 阿里云ECS, CentOS,PostgreSQL11安装)