1 文件进行解压 压缩包在 /root/src
Cd /root/tools/pgsql
tar -zxvf /root/src/postgresql-10.4.tar.gz
2将解压后的源码进行编译
./configure --prefix=/usr/local/pgsql --without-readline (该步骤查看是否有错误,缺少什么yum install 什么)
一般需要安装
yum install -y bison flex readline-devel zlib-devel gcc
之后执行
Make
Make install
3创建用户组postgres并创建用户postgres
groupadd postgres
useradd -g postgres postgres
4创建postgesql数据库的数据主目录并修改文件所有者
Cd /usr/local/pgsql
Mkdir data
chown postgres:postgres data
5配置环境变量 vim .bash_profile文件
添加
export PGHOME=/usr/local/pgsql
export PGDATA=/usr/local/pgsql/data
PATH=
P
A
T
H
:
PATH:
PATH:HOME/bin:$PGHOME/bin
source .bash_profile
6切换用户到postgres并使用initdb初始化数据库
Su - postgres
Initdb
执行完之后去 data目录下去查看 如果文件已经存在就就证明初始化成功
7配置服务
修改/pgsql/postgresql/data目录下的两个文件。
postgresql.conf 配置PostgreSQL数据库服务器的相应的参数。
pg_hba.conf 配置对数据库的访问权限
Vim postgresql.conf
#listen_addresses = ‘localhost’ # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to ‘localhost’; use ‘*’ for all
# (change requires restart)
#port = 5432 # (change requires restart)
其中,参数“listen_addresses”表示监听的IP地址,默认是在localhost处监听,也就是127.0.0.1的ip地址上监听,只接受来自本机localhost的连接请求,这会让远程的主机无法登陆这台数据库,如果想从其他的机器上登陆这台数据库,需要把监听地址改为实际网络的地址,一种简单的方法是,将行开头的#去掉,把这个地址改为*,表示在本地的所有地址上监听。
vim pg_hba.conf
找到最下面这一行 ,这样局域网的人才能访问。红色为新添加内容。
#IPv4 local connections:
host all all 0.0.0.0/0 md5
host all all 127.0.0.1/32 trust
8关闭防火墙
Systemctl stop firewalld
禁止防火墙开机启动
Systemctl disable firewalld
查看防火墙状态
Systemctl status firewalld
9 启动数据库
在psql目录下创建 log目录
Mkdir log
赋予权限
chown -R postgres:postgres /usr/local/pgsql/log/
根据initdb之后会出现pg_ctl 命令启动
./pg_ctl -D /usr/local/pgsql/data/ -l /usr/local/pgsql/log/logfile start
然后ps -ef | grep postgres 查看时候启动
之后 psql postgres 启动
进入后台
输入\password 命令 输入两次密码 之后去用工具进行连接