前言:
这个版本是安装在centos 7.4 的服务器上面,已经清理了防火墙策略,但是没有修改内核文件数,安装的难点在于环境变量配置,非安装配置本身。
1、安装准备
登录官网下载需要的版本,现在用的是13.1, https://www.postgresql.org/ftp/source/v13.1/ssss
2、安装依赖包
yum install -y gcc gcc-c++ cmake ncurses-devel perl zlib* yum -y install -y readline-devel readline 因为依赖包没弄好,编译时./configure --prefix=/app/pg13.1/pgdata; 出现过的报错
3、配置安装、运行用户pgsql
useradd pgsql usermod -G pgsql pgsql mkdir -p /app/pg13.1/ #若是pgsql没有这个目录的权限,会导致最后的make insall 失败 chown -R pgsql.pgsql /app/pg13.1/ 修改安装目录权限 chown -R pgsql.pgsql postgresql-13.1
4、开始安装
su - pgsql,切换用户, 然后进入安装目录,开始安装,一般装好了依赖包,不会出现什么意外 注意:下面的操作都是使用 pgsql进行的,若是需要安装依赖包,再另外切回root ./configure --prefix=/app/pg13.1/pgdata make
make install
5、初始化数据库
su - pgsql 创建数据库目录data mkdir -p /app/pg13.1/pgdata/data 给/home/pgsql/.bash_profile文件添加下面的内容, 注意:这个初始化的格式配置,网上很多版本都不行,这个是多次尝试最终可以成功的版本 export PGHOME=/app/pg13.1/pgdata export PGDATA=/app/pg13.1/pgdata/data export PATH=$PGHOME/bin:$PATH export MANPATH=$PGHOME/share/man:$MANPATH export LANG=en_US.utf8 export DATE=`date +"%Y-%m-%d %H:%M:%S"` export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH 生效环境变量配置 source /home/pgsql/.bash_profile 若是可以tab出 initdb 命令,那么代表配置生效,若是不行,重新su - pgsql 试一试 开始初始化数据库 initdb -D /app/pg13.1/pgdata/data/
创建日志目录空文件,主要是用于记录数据库的启动以及运行日志
mkdir /app/pg13.1/log/
touch /app/pg13.1/log/server.log
6、启动数据库
pg_ctl -D /app/pg13.1/pgdata/data/ -l /app/pg13.1/log/server.log start # 启动数据库
pg_ctl -D /app/pg13.1/pgdata/data/ -l /app/pg13.1/log/server.log stop #关闭数据库
7、基本配置
在这个配置文件pg_hba.conf里的host,换成截图的配置
修改这个文件的postgresql.conf 的port,数据库访问端口,默认端口是5432
修改这个文件的postgresql.conf 的数据库访问地址,可以保持默认或者按需要填写地址
然后启动数据库,让配置生效;
登入数据库,第一次登录会报错,那是因为,没有那个库,所以需要先创建库;
\l #列出里面的库
\q # 退出
createdb --port=6666 pgsql
psql --port=6666
至此,数据库安装完成。