下载源码包
--安装所需要的系统软件包
yum groupinstall -y
"Development tools"
yum install -y bison flex readline-devel zlib-devel
官网下载:https://www.postgresql.org/ftp/source/
tar -zxvf postgresql-11.3.tar.gz
cd postgresql-11.3
#查看帮助指令 ./configure --help
./configure --prefix=/usr/local/pgsql --with-libxml
make && make install
配置环境
#创建用户
useradd postgres
passwd postgres
#输入密码验证
#设置权限
chown -R postgres:postgres /usr/local/pgsql
mkdir /data/pg mkdir /data/pg/logs #存储数据和日志
chown -R postgres:postgres /data/pg
# 配置环境
vi /etc/profile
export PGDATA=/data/pg/data
export PGHOME=/usr/local/pgsql
export PATH=$PGHOME/bin:$PATH
source /etc/profile #生效
su postgres #切换用户
配置postgres用户的.bash_profile PATH=/usr/local/pgsql/bin:$PATH:$HOME/bin export PATH export LD_LIBRARY_PATH=/usr/local/pgsql/lib
export PGDATA=/data/pg/data
初始化数据库
执行initdb命令 (/usr/local/pgsql/bin/pg_ctl init --pgdata=/data/pg/data)
启动数据库
pg_ctl -D /data/pg/data -l /data/pg/logs/pg_server.log start
后面的log日志需手动创建,如下图,证明数据库启动成功:
连接数据库
连接数据库可以使用如下命令
psql -U postgres -d postgres
# 配置数据库连接信息
cd /data/pg/data
vim postgresql.conf
如上图,将listen_addresses的值设置成*,使其监听整个网络,端口号默认是5432,也可以自己设置。
vim pg_hba.conf
客户端认证配置文件
如上图
TYPE:pg的连接方式,local:本地unix套接字,host:tcp/ip连接
DATABASE:指定数据库
USER:指定数据库用户
ADDRESS:ip地址,可以定义某台主机或某个网段,32代表检查整个ip地址,相当于固定的ip,24代表只检查前三位,最后一 位是0~255之间的任何一个
METHOD:认证方式,常用的有ident,md5,password,trust,reject。
md5是常用的密码认证方式。
password是以明文密码传送给数据库,建议不要在生产环境中使用。
trust是只要知道数据库用户名就能登录,建议不要在生产环境中使用。
reject是拒绝认证。
启动postgresql服务
service postgresql start
查看端口
netstat -tunlp
创建用户
postgres=# create user postuser1 with password 'user1@123';
创建数据库
#同时指定数据库的所有者
postgres=# create database postdb1 owner postuser1;
数据库赋权
#未赋权则账户只能登录控制台
postgres=# grant all privileges on database postdb1 to postuser1;
# 导入导出命令
导入sql
psql -d [表] -U [数据库] -h [ip] -p [端口] -f [文件]
pg_restore -U postgres -d poi > filename
导出sql
pg_dump -U [数据库] -h [ip] -p [端口] -t [表] > 导出的文件