欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

linux下源码编译安装postgreSQL11.7

程序员文章站 2024-03-21 11:26:46
...

软件环境:

  • redhat5 64位系统
  • postgreSQL11.7源码包

1、将源码包拷贝到linux服务器上(root)

/*
源码包可以从官网下载。
我这里提供一份我已经下载好的postgreSQL11.7源码包:
链接:https://pan.baidu.com/s/1ZryENl6oTEd3TNsWtS8wvg
提取码:dvs1
*/
使用root用户将源码包postgresql-11.7.tar.gz拷贝到数据库服务器上。
linux下源码编译安装postgreSQL11.7
解压到当前目录下:
tar -zxvf postgresql-11.7.tar.gz
linux下源码编译安装postgreSQL11.7

2、检查安装环境(root)

进入解压后的目录:
cd postgresql-11.7

执行如下命令检查安装环境:
./configure --prefix=/usr/local/pgsql

在检查安装环境过程中如果没有出现错误,并最后出现如下界面,则成功,否则,需要先检查错误原因,再重新执行该命令。
linux下源码编译安装postgreSQL11.7

3、开始编译源码(root)

执行如下命令开始编译源码(整个编译时间可能会比较长,细心等待):
make

编译完成后,会有如下画面,表示编译成功。
linux下源码编译安装postgreSQL11.7

4、 开始安装(root)

安装目录在检查安装环境那个章节已经配置好,这里只需要执行如下命令,开始安装:
make install

出现如下画面,表示安装完成。
linux下源码编译安装postgreSQL11.7
切换到/usr/local目录,可以发现已经有pgsql目录了。
linux下源码编译安装postgreSQL11.7

5、 创建用户(root)

编译安装成功后,接下来要做的就是创建一个普通用户,因为默认超级用户(root)不能启动postgresql,所以需要创建一个普通用户来启动数据库,执行以下命令创建用户:
groupadd postgres
useradd -g postgres postgres
passwd postgres

在/usr/local/pgsql下分别创建数据目录(data)和日志目录(log):
mkdir -p /usr/local/pgsql/data
mkdir -p /usr/local/pgsql/log

接下来设置权限,将pg的数据目录全部赋给postgres用户,执行以下命令:
chown -R postgres:postgres /usr/local/pgsql

6、配置环境变量(postgres)

切换到postgres用户,使用命令vi .bashrc添加如下环境变量:

export PGHOME=/usr/local/pgsql
export PGDATA=/usr/local/pgsql/data            
export PGLOG=/usr/local/pgsql/log/serverlog
export PATH=${PGHOME}/bin:$PATH
export LD_LIBRARY_PATH=${PGHOME}/lib:$LD_LIBRARY_PATH

为了使环境变量立即生效,执行如下命令:
source .bashrc

7、初始化数据库(postgres)

使用postgres用户执行如下命令:
initdb -D $PGDATA -U postgres --locale=en_US.UTF8 -E UTF8

看到如下画面表示数据库初始化成功:
linux下源码编译安装postgreSQL11.7

8、设置参数文件(postgres)

使用postgres用户,执行vi /usr/local/pgsql/data/postgresql.conf 修改如下参数(监听地址、监听端口、最大连接数):

listen_addresses = '*'
port = 5432
max_connections = 100

执行vi /usr/local/pgsql/data/pg_hba.conf修改如下参数(客户端认证):

# IPv4 local connections:
host   all             all             0.0.0.0/0            md5

9、启动数据库(postgres)

pg_ctl start -D $PGDATA -l $PGLOG

10、停止数据库(postgres)

pg_ctl stop -D $PGDATA -m fast -W

11、配置系统服务,开机自启动(root)

进入postgresql源码包的解压目录(本文为/root/postgresql-11.7),执行命令 cp contrib/start-scripts/linux /etc/init.d/postgresql,然后 vim /etc/init.d/postgresql,进行如下配置修改:

# contrib/start-scripts/linux

## EDIT FROM HERE
# Installation prefix
prefix=/usr/local/pgsql

# Data directory
PGDATA="/usr/local/pgsql/data"

# Who to run the postmaster as, usually "postgres".  (NOT"root")
PGUSER=postgres

# Where to keep a log file
PGLOG="$prefix/log/serverlog"

然后再分别执行如下命令:
chmod u+x postgresql
chkconfig --add postgresql

使用root用户测试配置的postgresql服务是否好使:
启动postgresql服务:
linux下源码编译安装postgreSQL11.7

停止postgresql服务:
linux下源码编译安装postgreSQL11.7

12、测试数据库连接(postgres)

(一) 本地连接
本地连接这里使用的是postgresql自带的客户端程序psql:
出现如下界面表示连接成功。
linux下源码编译安装postgreSQL11.7

这里需要修改下postgres用户的密码,方便下面远程连接时使用。
在psql命令提示符下输入如下命令:
alter user postgres with password ‘postgres’;

(一) 远程连接
远程连接这里使用的是Navicat for PostgreSQL,一款第三方软件。
linux下源码编译安装postgreSQL11.7
linux下源码编译安装postgreSQL11.7

相关标签: postgreSQL