目录
安装前准备
编译安装
创建用户
配置环境变量
数据库初始化与启动
初始化数据库
启动数据库
连接数据库
配置文件
postgresql.conf
pg_hba.conf
官网下载PG11.2源码,地址:https://www.postgresql.org/ftp/source/v11.2/
源码有两种压缩方式,我们选择postgresql-11.2.tar.gz
首先进入安装包所在目录,执行tar zxvf postgresql-11.2.tar.gz解压安装包,执行./configure --help可以看到编译相关的信息。
执行./configure命令开始编译,在编译的过程中会发现缺少包,执行如下命令安装缺少的包:
yum install gcc yum install readline-devel yum install zlib-devel
安装好上面提示缺少的三个包后,再次执行./configure命令进行编译,会发现创建config.status配置文件,如下图:
编译完成,接下来可以进行安装了
执行命令 make,出现如下图就证明编译成功,可以进行安装了:
执行命令 make install,出现如下图就证明安装成功了。
编译安装成功后,接下来要做的就是创建一个普通用户,因为默认超级用户(root)不能启动postgresql,所以需要创建一个普通用户来启动数据库,执行以下命令创建用户:
useradd postgres
接下来设置权限,将pg的数据目录全部赋给postgres用户,执行以下命令:
chown -R postgres:postgres /usr/local/postgresql/
切换到postgres用户,执行如下命令:
su - postgres
打开.bash_profile文件,命令如下,添加如下内容:
vi ~/.bash_profile
PGHOME=/usr/local/postgresql
export PGHOME
PGDATA=/usr/local/postgresql/data
export PGDATA
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin
export PATH
如下如:
执行如下命令使其生效:
source ~/.bash_profile
执行initdb命令
pg_ctl start -l /usr/local/postgresql/log/pg_server.log,
后面的log日志需手动创建,如下图,证明数据库启动成功:
连接数据库可以使用如下命令
psql -U postgres -d postgres
目录/usr/local/postgresql/data/下,pg_hba.conf和postgresql.conf两个文件。
如上图,将listen_addresses的值设置成*,使其监听整个网络,端口号默认是5432,也可以自己设置。
客户端认证配置文件
如上图
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是拒绝认证。