阿里云centos环境源码安装postgresql9.4

本文的安装步骤主要来源于http://www.cnblogs.com/mchina/archive/2012/06/06/2539003.html,感谢博主的分享。
若读者是为了找寻源码安装的问题,请直接下看面的“源码安装相关问题及解决方案”。

目录

源码安装简要步骤

  • 下载PostgreSQL 源码包
    下载根目录地址:http://ftp.postgresql.org/
    本人选择的是当前最新版本v9.4.1:http://ftp.postgresql.org/pub/source/v9.4.1/
    本人下载的源码压缩包地址如下:
$ /usr/local/postgresql
  • 解压源码包
$ tar -zxvf postgresql-9.4.1.tar.gz
  • 进入解压后的目录
$ cd postgresql-9.4.1

  • 开始编译安装PostgreSQL 数据库
$ ./configure
  • 执行gmake
$ gmake

  • 执行gmake install
$ gmake install

  • 设置环境变量
$ vi .bash_profile
#### 把 PATH=$PATH:$HOME/bin 改成下面内容 ####
$ PATH=$PATH:$HOME/bin:/usr/local/pgsql/bin
  • 让环境变量生效
$ source .bash_profile
  • 添加用户postgres
$ adduser postgres

  • 更改用户目录(可选操作)
$ vi /etc/passwd
#### 把 postgres:x:528:528::/home/postgres:/bin/bash 改成下面内容 ####
$ postgres:x:528:528::/usr/local/pgsql:/bin/bash
#### 将.bash_profile 移动到新的用户目录并修改权限 ####
$ cp /home/postgres/.bash_profile /usr/local/pgsql/
$ chown postgres.postgres .bash_profile
#### 删除用户目录 ####
$ rm -rf postgres/
  • 新建数据目录
$ mkdir /usr/local/pgsql/data
  • 更改权限
$ chown postgres /usr/local/pgsql/data
  • 切换到postgres 用户
$ su - postgres

  • 初始化数据库
$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/

  • 回到root 用户
$ exit
  • 复制安装目录下的linux文件到/etc/init.d/
$ cd postgresql-9.4.1
$ cp contrib/start-scripts/linux /etc/init.d/postgresql

  • 添加执行权限
$ chmod +x /etc/init.d/postgresql
  • 启动数据库
$ service postgresql restart

  • 让数据库开机启动
$ chkconfig --add postgresql
$ chkconfig postgresql on
  • 测试使用
$ su - postgres
$ createdb test
$ psql test
test=$ create table test(id int);


源码安装相关问题及解决方案

  • ./configure时,提示error: readline library not found
    该情况,一般是未安装readline-devel,虽然提示中有建议使用 --without readline,但是装下又何妨,万一后面出点乱子,找个问题都难找,还是装一下吧。
yum install readline-devel
  • 直接执行gmake install,默认安装在哪?
$ /usr/local/pgsql
  • 执行postgresql命令、修改postgresql配置文件(postgresql.conf、pg_hba.conf),文件和目录在哪?
$ /usr/local/pgsql/data
  • postgresql默认只允许本机访问,需要远程连接、外网访问,如何配置?
    先配置监听地址
$ vi /usr/local/pgsql/data/postgresql.conf
#### 取消掉下面一行的前面的#注释,并将值改为* ####
$ listen_addresses = '*'

再配置支持远程连接

$ vi /usr/local/pgsql/data/pg_hba.conf
#### 直接配置为不限制IP,即0.0.0.0,注意:/后面也必须为0!!! ####
$ 将 127.0.0.1/8 改为 0.0.0.0/0

— --- — ---> 点击查看更多最新原创博文<— --- — ---

技术交流

阿里云centos postgresql9.4源码安装 精简步骤、问题解答的更多相关文章

  1. [转]阿里云CentOS 7.1使用yum安装MySql5.6.24

    阿里云CentOS 7.1使用yum安装MySql5.6.24 作者:vfhky | 时间:2015-06-25 09:43 | 分类:web 在前面两篇文章<2015博客升级记(四):Cent ...

  2. CentOS 7下源码安装MySQL 5.7

    网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点 ...

  3. centos 6.4 源码安装php5.4 mysql5.5 apahce2

    centos 6.4 源码安装php5.4 mysql5.5 apahce2 博客分类: php   参考:http://blog.csdn.net/simpleiseasy/article/deta ...

  4. CentOS 7下源码安装MySQL 5.6

    本文转载,并非原创. 目录 准备工作 运行环境 确认你的安装版本 下载MySQL 安装MySQL 准备安装环境 编译和安装 配置MySQL 单实例配置 单实例配置方法 添加防火墙 启动MySQL 重启 ...

  5. CentOS 6.4 源码安装MySQL 5.6

    1.安装前准备工作 1.1 必备的包 gcc/g++ :MySQL 5.6开始,需要使用g++进行编译.cmake :MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本. ...

  6. Linux源码安装mysql步骤

    创建文件夹: mkdir  /usr/local/webserver 安装必要依赖包      yum -y install gcc gcc-c++ make ncurses-devel安装cmake ...

  7. linux源码安装的步骤

    源码安装的过程中多多少少会遇到问题,在此仅简述一下安装的步骤,具体安装的过程中遇到的问题,具体解决. 安装步骤: 1.获取源码 name.gz 2.解包 tar -xvf name.gz (cd到包解 ...

  8. CentOS 6.3 源码安装LAMP(Linux+Apache+Mysql+Php)环境

    一.简介 什么是LAMP LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而>言都是在它所 ...

  9. CentOS 6.8 源码安装mysql 5.6

    一:卸载旧版本 rpm -qa | grep mysql rpm -e mysql #普通删除模式 rpm -e --nodeps xxx(xxx为刚才的显示的列表) # 强力删除模式,如果使用上面命 ...

随机推荐

  1. 论文写作中快速更新Word里面交叉引用的编号,巧用MathType

    点击插入编号>>更新,即可快速更新交叉引用的编号,不用一个一个更新域!

  2. Mybatis配置错误:java.lang.ExceptionInInitializerError

    情况一:配置文件,无法被导出或者生效 修改前: 修改后: 究其原因,这是由于Maven的约定大于配置,导致我们写的配置文件,无法被导出或者生效的问题,解决方案: 在pom.xml文件中配置导出非res ...

  3. Java的重载以及与重写的区别

    一.什么是方法重载 方法的重载就是在同一个类中,有着若干个名字相同的方法.在具体调用这些方法的时候,通过传递参数的不同来调用这些重载方法. 二.为什么需要方法重载 方法名的定义需要做到见名知意,功能类 ...

  4. AS3 setChildIndex的bug

    AS3 setChildIndex的bug 小伙伴们注意了,在timelines使用 MovieClip 的 setChildIndex方法要注意,因为它有一个bug,调整显示对象的深度之后,会导致显 ...

  5. 随意写文件命令?怎么向屏幕输出带空格的字符串,比如”hello world”?

    写文件命令:vi 向屏幕输出带空格的字符串:echo hello world

  6. java中的四种引用类型

    为什么需要引用: Java的内存回收不需要程序员负责,JVM会在必要时启动Java GC完成垃圾回收. Java以便我们控制对象的生存周期,提供给了我们四种引用方式,引用强度从强到弱分别为:强引用.软 ...

  7. Formatter和IStandardConversionService的使用方式

    Thymeleaf 1.Formatter接口是当进行请求参数的封装时,会根据Formatter的泛型进行调用Parse方法进行格式化类型 2.IStandardConversionService是T ...

  8. APScheduler定时任务框架

    1.简介 APScheduler是一个Python**定时任务框架**,提供了**基于日期**.**固定时间间隔**以及**crontab**类型的任务,并且可以**持久化任务**.基于这些功能,我们 ...

  9. centos简单命令备忘

    1.查看当前目录 [root@instance-aif30iaj bin]# df -h 2.查看指定目录 在命令后直接放目录名,比如查看"usr"目录使用情况: [root@in ...

  10. SVN在idea中操作解析图

    进入的位置