postgresql源码编译安装(centos)
centos6.8安装postgresql-9.6.8
一、环境
centos6.8
postgresql-9.6.8
二、准备工作
虚拟机可以连接外网
三、先安装make,gcc,gcc-c++,readline-devel,zlib,zlib-devel,openssl,openssl-devel,pam,pam-devel,libxml2,libxml2-devel,libxslt,libxslt-devel,perl-ExtUtils-Embed软件包
如果已经安装,可以忽略






四、开始安装
4.1 解压tar -zvxf postgresql-9.6.8.tar.gz
postgresql安装包放到opt目录下

4.2 创建postgres用户,密码设置为123456


4.3 开始安装
将数据库安装到/opt/pgsql/目录下
./configure --prefix=/opt/pgsql --with-pgport=5432 --with-perl --with-python --with-openssl --with-pam --without-ldap --with-libxml --with-libxslt --enable-thread-safety

备注:在执行configure命令时,如提示找不到python的库,则需要重新安装python,并加上--enable-shared选项
重装python
到官网下载python-2.7.14,地址https://www.python.org/getit/
将安装包上传到/opt/目录并解压,解压后会生成目录Python-2.7.14
进入目录编译安装



完成python的安装。
python安装完成后还需创建软连接,不然在/usr/local/lib/python2.7/config/目录下还是找不到python的共享库,具体创建过程如下图所示:

软连接创建好后,重新执行下面的configure命令即可成功。
执行make world命令

备注:执行make world命令后会报“postgresql ‘jade’ is missing on your system ”错误
解决办法:参照链接
执行下面几个命令,安装相应的软件包即可




执行完命令后重新执行configure命令,然后在执行make world命令
执行中会报如下错误

出现该错误还是由于python安装有问题导致的,解决办法:参考链接
1.删除python安装目录下Objects文件夹下面的所有.o文件

2.执行configure命令,然后执行make,make install命令



3.拷贝安装目录下的libpython2.7.a文件

以上步骤执行完成后,然后在重新执行postgresql的make world和make install-world命令。
4.4 配置环境变量
在环境变量/etc/profile/文件中加入PATH=$PATH:/opt/pgsql/bin

source环境变量,使配置生效

4.5 初始化数据库



4.6 复制并修改配置文件(修改存放数据目录)
切换到root,复制安装目录下的linux文件到/etc/init.d/中,并将linux名称重命名为postgresql

修改配置文件,并添加执行权限



4.7 启动数据库,并设置开机自启


4.8 创建数据库操作的历史文件


4.9 测试数据库是否创建成功,并且连接数据库
使用\q即可退出数据库连接

五、修改数据库外网访问
主要修改pg_hba.conf,postgresql.conf两个配置文件
5.1 先关闭数据库服务

5.2 修改pg_hba.conf文件
将默认的host all all 127.0.0.1/32 md5修改为

0.0.0.0/0 表示全部允许访问
或192.168.1.10/32 表示只允许192.168.1.10这个ip访问
或192.168.1.1/24 表示允许192.168.1.x的ip访问
5.3 修改postgresql.conf 文件
listen_addresses默认是注释掉的,打开即可,修改默认的listen_addresses=‘localhost’为listen_addresses='*'

5.4 重启postgresql服务

5.5 测试本地连接

参考连接
postgresql源码编译安装(centos)的更多相关文章
- Linux环境PostgreSQL源码编译安装
Linux环境PostgreSQL源码编译安装 Linux版本: Red Hat 6.4 PostgreSQL版本: postgresql-9.3.2.tar.gz 数据存放目录: /var/post ...
- centos 6.5源码编译安装subversion 1.8.10
一.简介 CentOS 6.5的yum源可以安装的SVN客户端版本太低了,1.6.11,所以需要升级到1.8.10,而官网有没有找到1.8.10的安装包,只能选择源码编译安装. 二.安装步骤 参考官网 ...
- CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境
CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境 什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/ ...
- CentOS 7.4 源码编译安装 Redis
一.CentOS 7.4 源码编译安装 Redis 1.下载源码并解压 wget http://download.redis.io/releases/redis-4.0.10.tar.gz tar ...
- centos 7 下 rabbitmq 3.8.0 & erlang 22.1 源码编译安装
centos 7 下 rabbitmq 3.8.0 & erlang 22.1 源码编译安装 安装前请检查好erlang和rabbitmq版本是否相匹配参考:RabbitMQ Erlang V ...
- CentOS源码编译安装MySQL 5.5.15
CentOS源码编译安装MySQL 5.5.15 文章目录 [隐藏] 安装编译工具 下载源码 安装cmake和bison 编译安装MySQL 一些相关设置 安装编译工具 yum install g ...
- CentOS 6.6 下源码编译安装MySQL 5.7.5
版权声明:转自:http://www.linuxidc.com/Linux/2015-08/121667.htm 说明:CentOS 6.6 下源码编译安装MySQL 5.7.5 1. 安装相关工具# ...
- Centos 7源码编译安装 php7.1 之生产篇
Centos 7源码编译安装 php7.1 之生产篇 Published 2017年4月30日 by Node Cloud 介绍: 久闻php7的速度以及性能那可是比php5系列的任何一版本都要快,具 ...
- Httpd服务进阶知识-LAMP源码编译安装
Httpd服务进阶知识-LAMP源码编译安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必大家都知道,动态资源交给fastcgi程序处理,静态资源依旧由httpd服务器处理 ...
随机推荐
- Java中字符编码和字符串所占字节数 .
首 先,java中的一个char是2个字节.java采用unicode,2个字节来表示一个字符,这点与C语言中不同,C语言中采用ASCII,在大多数 系统中,一个char通常占1个字节,但是在0~12 ...
- 安装CentOS7虚拟机
基础环境 Windows 10 VMware Workstation 1.下载CentOS7镜像 https://www.centos.org/download/ 此次安装使用的版本为: CentOS ...
- linux-memcache安装及memcached memcache扩展
linux memcached安装yum -y install libevent libevent-deve yum list memcached yum -y install memcached m ...
- P2510 [HAOI2008]下落的圆盘
传送门 首先考虑两个圆覆盖的情况,我们可以求出圆心与交点连线 $A$ 的极角 具体就是求出两圆心连线 $B$ 极角加上余弦定理加反余弦求出 $A,B$ 之间夹角 ,然后覆盖了多少就可以得出 但是多个圆 ...
- Redis持久化rdb&aof
Redis持久化rdb&aof 前言 持久化:即把数据存储于断电后不会丢失的设备中,通常是硬盘 常见的持久化方式: 主从:通过从服务器保持持久化,如mongoDB的replication se ...
- Linux 下编写.sh文件运行JAR下的Class
#!/bin/sh #bash文件头 APP_HOME=/opt/CrxToMongodb #目录是/opt/CrxToMongodb CLASSPATH=$APP_HOME #bin目录当然是包含j ...
- xcode自动生成代码片段
一.什么是代码片段 当在Xcode中输入dowhile并回车后,Xcode会出现下图所示的提示代码: 这就是代码片段,目的是使程序员以最快的速度输入常用的代码片段,提高编程效率.该功能是从Xcode4 ...
- IOS绘图详解(http://blog.163.com/wkyuyang_001/blog/static/10802122820133190545227/)
14.1 Quartz概述 Quartz是Mac OS X的Darwin核心之上的绘图层,有时候也认为是CoreGraphics.共有两种部分组成Quartz: Quartz Compositor,合 ...
- ES6中class的实现原理
一.在ES6以前实现类和继承 实现类的代码如下: function Person(name, age) { this.name = name; this.age = age; } Person.pro ...
- 2019-10-31-VisualStudio-2019-新特性
title author date CreateTime categories VisualStudio 2019 新特性 lindexi 2019-10-31 08:48:27 +0800 2019 ...