本文已参与「新人创作礼」活动,一起开启掘金创作之路。
1.解压
tar -xvf postgresql-10.5-1-linux-x64-binaries.tar.gz
2.将解压文件重命名
mv pgsql postgresql
由于PostgreSQL无法在root用户下安装
所以我们在安装的时候需要先新建一个用户
3.新增postgres用户组:
groupadd postgres
新增postgres用户并且设置这个用户属于上面创建的postgres用户组:
useradd -g postgres postgres
4.修改postgres用户密码:(这里设置密码为postgres)
passwd postgres
5.在解压后的文件夹内创建pgsql数据目录
cd postgresql/
mkdir pgsql_data
由于是在root用户下解压的,需要使用普通用户(postgres)去初始化数据库,所以需要把解压的文件夹授权给对应的用户
chown -R postgres:postgres postgresql/
6.初始化数据库
切换为普通用户
su postgres
然后在bin目录下执行
./initdb -D /aifs01/iam/iam_soft/postgresql/pgsql_data
出现上述提示说明初始化成功,其中
./pg_ctl -D /aifs01/iam/iam_soft/postgresql/pgsql_data/ -l logfile start
为pgsql数据库的启动命令
7.配置数据库参数
进入/postgresql/pgsql_data/目录,配置数据库参数(设置服务器监听整个网络,设置端口号为8432)
vim postgresql.conf
8.配置对数据库的访问控制
进入/postgresql/pgsql_data/目录,新增kong节点ip地址和本机ip。
vim pg_hba.conf
host all all 10.10.10.1/32 trust
host all all 10.10.10.2/32 trust
host all all 0.0.0.0/0 md5
9.启动数据库
在postgresql/bin目录下
./pg_ctl -D /aifs01/iam/iam_soft/postgresql/pgsql_data -l logfile start
10.查看进程是否存在
ps -ef | grep postgres
11.停止数据库
./pg_ctl -D /aifs01/iam/iam_soft/postgresql/pgsql_data/ -l logfile stop
12.登录数据库
./psql -h 10.21.171.20 -d postgres -p 8432
13.创建数据库
CREATE USER kong;
ALTER USER kong WITH PASSWORD 'kong' ;
ALTER USER postgres WITH PASSWORD 'postgres';
CREATE DATABASE kong OWNER kong;
\q退出
遇到的问题:
1.在执行启动命令的时候提示 psql.bin: FATAL: no pg_hba.conf entry for host "10.21.171.67", user "postgres",database "postgres", SSL off
解决办法:
将本机IP加入到pg_hba.conf文件里面,本文在前面已经有添加本机ip的步骤,就是为了避免出现这个问题
完成后重新启动pgsql然后登录成功
./pg_ctl -D /aifs01/iam/iam_soft/postgresql/pgsql_data/ -l logfile restart
2.在创建完成后,使用Navicat连接pgsql发现报错no pg_hba.conf entry for host
解决办法:
需要在PostgreSQL数据库的安装目录下找到/pgsql_data/pg_hba.conf,找到“# IPv4 local connections:”
在pg_hba.conf文件内加入
host all all 0.0.0.0/0 md5
然后重新启动pgsql
./pg_ctl -D /aifs01/iam/iam_soft/postgresql/pgsql_data/ -l logfile restart
重启完后连接成功