linux下源码编译安装postgreSQL11.7
软件环境:
- redhat5 64位系统
- postgreSQL11.7源码包
1、将源码包拷贝到linux服务器上(root)
/*
源码包可以从官网下载。
我这里提供一份我已经下载好的postgreSQL11.7源码包:
链接:https://pan.baidu.com/s/1ZryENl6oTEd3TNsWtS8wvg
提取码:dvs1
*/
使用root用户将源码包postgresql-11.7.tar.gz拷贝到数据库服务器上。
解压到当前目录下:
tar -zxvf postgresql-11.7.tar.gz
2、检查安装环境(root)
进入解压后的目录:
cd postgresql-11.7
执行如下命令检查安装环境:
./configure --prefix=/usr/local/pgsql
在检查安装环境过程中如果没有出现错误,并最后出现如下界面,则成功,否则,需要先检查错误原因,再重新执行该命令。
3、开始编译源码(root)
执行如下命令开始编译源码(整个编译时间可能会比较长,细心等待):
make
编译完成后,会有如下画面,表示编译成功。
4、 开始安装(root)
安装目录在检查安装环境那个章节已经配置好,这里只需要执行如下命令,开始安装:
make install
出现如下画面,表示安装完成。
切换到/usr/local目录,可以发现已经有pgsql目录了。
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
看到如下画面表示数据库初始化成功:
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服务:
停止postgresql服务:
12、测试数据库连接(postgres)
(一) 本地连接
本地连接这里使用的是postgresql自带的客户端程序psql:
出现如下界面表示连接成功。
这里需要修改下postgres用户的密码,方便下面远程连接时使用。
在psql命令提示符下输入如下命令:
alter user postgres with password ‘postgres’;
(一) 远程连接
远程连接这里使用的是Navicat for PostgreSQL,一款第三方软件。
推荐阅读
-
linux下源码编译安装postgreSQL11.7
-
Centos 6.0 源码 编译 安装 bochs 博客分类: 工作记录 bochscentos安装yum虚拟机
-
Rsync 实现远程同步复制-源码编译安装Rsync
-
linux基础—linux下如何安装mysql,备份与恢复,主从复制
-
Linux源码安装
-
在linux系统下安装jdk环境 博客分类: Linux CentOSjdk
-
centOS6.4下安装Tomcat7 博客分类: Linux Tomcatcentos
-
在ubuntu系统下安装lrzsz出现“E: Unable to locate package ...” 博客分类: Linux中常见问题 ubuntu
-
在linux系统下安装jdk环境 博客分类: Linux CentOSjdk
-
Linux下安装配置Oracle 博客分类: oracle/管理 linuxoracleinstall