源码安装PostgreSQL-13.9

       因为早先的项目需要用到pathman,而根据pathman官方说明,能支持的postgresql的最高版本是13.9,因此,本文就以13.9版本进行说明。

       所有步骤在CentOS7.*及8.* 版本,验证成功。

        第一步:下载安装依赖包

###### 安装依赖包

# yum -y install gcc gcc-c++ make readline-devel zlib-devel bzip2

# yum -y install coreutils glib2 lrzsz mpstat dstat sysstat e4fsprogs xfsprogs ntp readline-devel zlib-devel openssl-devel pam-devel libxml2-devel libxslt-devel python-devel tcl-devel gcc make smartmontools flex bison perl-devel perl-Ext Utils* openldap-devel jadetex  openjade bzip2 nc mutt perl-ExtUtils-Embed

# yum -y install elog*

# yum -y install json*

第二步:配置环境变量

# 创建组和用户

#useradd postgres

#创建路径

#mkdir -p /usr/local/pgsql13

#mkdir -p /data/pg13data

# chown -R postgres.postgres /usr/local/pgsql13  /data/pg13data

#vim .bash_profile

输入以下内容

#export PS1="$USER@`/bin/hostname -s`:`pwd`-> "

#export PS1=”\e[32;1m[\u@\H:\w]\e[m”

export PS1=”[\e[36;1m\u\e[32m@\h:\e[34m\w] “

export PGUSER=postgres

export PGPORT=1921

export PGDATA=/data/pg13data/

export LANG=en_US.utf8

export PGHOME=/usr/local/pgsql13

export LD_LIBRARY_PATH=$PGHOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib: $LD_LIBRARY_PATH

export DATE=`date +"%Y%m%d%H%M"`

export PATH=$PGHOME/bin:$PATH:.

export MANPATH=$PGHOME/share/man:$MANPATH

保存,退出

#source .bash_profile // 生效

    注:有关环境变量中的提示符说明的内容,是参考的以下文档:

            https://wenku.baidu.com/view/46567f0aee630b1c59eef8c75fbfc77da26997b4.html

第三步:下载PostgreSQL-13.9 源码

    在安装PostgreSQL-13.9之前,需要确保Python3已经安装。

    如果没有,可以参考下面的2步:

         # yum -y install python3*

         # yum -y install python3-devel*

下载postgresql-13.9的源码,有下列2种方式:

      1.  通过浏览器下载

     打开浏览器,输入https://www.postgresql.org/ftp/source/v13.9/

     然后,选择postgresql-13.9.tar.bz2

      2.  命令行下载

#wget --no-check-certificate https://ftp.postgresql.org/pub/source/v13.9/postgresql-13.9.tar.bz2

第四步:编译并安装

### 将安装包postgresql-13.9.tar.bz2 放在指定路径中并解压

# bunzip2 postgresql-13.9.tar.bz2

# tar -xvf ./postgresql-13.9.tar

# cd ./postgresql-13.9

#./configure --prefix=/usr/local/pgsql13 --with-pgport=1921 --with-segsize=8 --with-perl --with-python --with-openssl --with-pam --with-ldap --with-libxml --with-libxslt --enable-thread-safety

# make -j8 && make install

第五步:初始化数据库

# su postgres

$ cd /usr/local/pgsql13/bin

$ initdb --locale=C -E utf8 -D $PGDATA

第六步:修改配置文件

### 打开文件【此处为默认路径】

### 若通过InitDB指定数据路径的话,则在-D中确定

#vi /data/pg13data/postgresql.conf

### 找到  #listen_addresses = 'localhost'  修改为

listen_addresses = '*'

###  打开文件

#vi /data/pg13data/pg_hba.conf

###  找到

# IPv4 local connections:

host  all  all  127.0.0.1/32  trust

#修改为

# IPv4 local connections:

host  all  all  0.0.0.0/0  md5

### 小技巧

###  如果需要修改密码的加密方式:

###  打开postgresql.conf

password_encryption = scram-sha-256

### 修改 pg_hba.conf

### 将加密方式从md5改为scram-sha-256。(注,md5兼容scram-sha-256)

### 修改完成后,重启数据库,可以通过命令查看修改的结果

###  启动命令如下:

# pg_ctl -D $PGDATA [ stop | start ]

###  如果数据库是已经运行中的,则可以通过重新加载配置的命令,使之生效

### 重新加载配置指令

# pg_ctl reload -D $PGDATA

### 或者

# select pg_reload_conf();

第七步:配置开机自启动模式

此步骤需要root用户操作。】

postgresql 安装包中提供了数据库启动与关闭的脚本,可以帮助我们简化操作,也可以 用作开机启动的脚本和service/systemctl 控制服务的脚本。 脚本位于: <src_pkg_path>/postgresql-13.9/contrib/start-scripts/ 

#找到指定文件 linux,如下图箭头所示

###  将linux文件复制到/etc/rc.d/init.d/下并重命名为postgresql

# cp linux /etc/rc.d/init.d/postgresql

# cd /etc/rc.d/init.d/

# chmod 755 postgresql

###  修改配置如下

####  修改Linux操作系统配置

# chkconfig --add postgresql

#### 重启服务器后,系统自动加载postgresql-13.9

####  查看日志文件pg13.log

注:此后,也可以通过服务方式启动【需要root账号】

# service postgresql restart

  • 20
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值