实验环境>>>>>>>>>>>>>>>>>>
操作系统:CentOS release 6.3 (Final)
数据库版本:PostgreSQL 9.3.5

安装postgresql的依赖有

a、需要一个ISO/ANSIC编译器(至少兼容C89)。

b、需要GNU make; 不能使用其它make程序。

c、缺省时将自动使用GNU Readline库。需要readline和readline-devel 两个包。

d、缺省的时候将使用zlib压缩库。需要zlib和zlib-devel两个包。

其中Readline可以方便地编辑和检索命令历史,Zlib库可以使pg_dump和pg_restore压缩归档的支持。

如果不需要使用c和d依赖,在编译的时候可以使用--without-readline--without-zlib选项。具体安装方法如下:

1、安装postgresql所需要的依赖。

[root@ ~]# yum install gcc make -y
[root@ ~]# yum install readline-devel zlib-devel -y

2、解压postgresql源码包,进入解压目录。依次执行如下命令:

[root@ postgresql-9.3.]# ./configure
[root@ postgresql-9.3.]# make
[root@ postgresql-9.3.]# make install

3、创建数据库服务的用户名和目录,以及权限设置。

[root@ postgresql-9.3.]# useradd postgres
[root@ postgresql-9.3.]# mkdir /usr/local/pgsql/data //创建数据库目录
[root@ postgresql-9.3.]# chown postgres /usr/local/pgsql/data //改变数据库目录的拥有者

4、切换到postgres用户编辑~/.bash_profile文件,将数据库执行命令的目录加入到PATH变量。

PATH=$PATH:$HOME/bin:/usr/local/pgsql/bin     //修改~/.bash_profile文件的PATH变量一行,修改后用source使其立即生效,也可以重新登录。

5、初始化以及启动数据库。

[postgres@ ~]$ initdb -D /usr/local/pgsql/data                          //初始化postgresql数据库
[postgres@ ~]$ postgres -D /usr/local/pgsql/data >logfile >& & //启动postgresql数据库

在安装完成以后,postgresql.conf的默认配置如下:

如果我们需要停止postgresql服务,可以使用如下命令:

[postgres@ ~]$ pg_ctl stop -D /usr/local/pgsql/data

我们也可以将源码包里contrib/start-scripts/linux启动脚本文件拷贝到/etc/init.d目录中,将其命名成postgresql-9.3

以后就可以就像启动其他服务一样进行启动了,也可以将其加入到开机启动。一般来讲此脚本我们可能需要修改的选项如下图所示:

最后我们将postgresql-9.3加入到开机启动项,可以使用如下命令:

[root@ ~]# chkconfig --level  postgresql-9.3 on

linux下PostgreSQL数据库的源码安装的更多相关文章

  1. linux下MySQL 5.6源码安装

    linux下MySQL 5.6源码安装 1.下载:当前mysql版本到了5.6.20 http://dev.mysql.com/downloads/mysql 选择Source Code 2.必要软件 ...

  2. linux下hadoop2.6.1源码64位的编译

    linux下hadoop2.6.1源码64位的编译 一. 前言 Apache官网上提供的hadoop本地库是32位的,如果我们的Linux服务器是64位的话,就会现问题.我们在64位服务器执行Hado ...

  3. Linux下USB suspend/resume源码分析【转】

    转自:http://blog.csdn.net/aaronychen/article/details/3928479 Linux下USB suspend/resume源码分析 Author:aaron ...

  4. RHEL Server 6.3下MySQL5.5.25a源码安装

    OS:RHEL Server 6.3 MySQL:mysql-5.5.25a.tar.gz 相关依赖包: ncurses-5.9.tar.gz bison-2.5.tar.gz 安装MySQL 一.安 ...

  5. Linux 系统安装配置PHP服务(源码安装)

    简介: PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言.语法吸收了C语言.Java和Perl的特点,利于学习,使用广泛,主要 ...

  6. linux应用之nginx的源码安装及配置(centos)

    1.准备工作选首先安装这几个软件:GCC,PCRE(Perl Compatible Regular Expression),zlib,OpenSSL.Nginx是C写的,需要用GCC编译:Nginx的 ...

  7. 【程序包管理】Linux软件管理之src源码安装编译

    在很多时候我们需要自定义软件的特性,这时就需要用到源码安装.那么,网上有很多编译源码的工具,那么,我们怎么知道别人使用的是什么工具呢.其实我也不知道(*^▽^*). 那么本篇博客主要是写C代码的源码安 ...

  8. 在ubuntu下,进行php7源码安装

    作为一名php的攻城师,如果没有玩php源码安装是说不过去的.我们知道php之所以这么流行,跟它的开源文化和lamp配套有很大关系.由于PHP7废弃了很多功能,所以一些依赖这些功能的程序可能无法运行, ...

  9. centos下配置LNMP环境(源码安装)

    准备工作,安装依赖库 yum -y install gcc automake autoconf libtool make gcc-c++ glibc libxslt-devel libjpeg lib ...

随机推荐

  1. C#中的委托与事件

    1,委托? 通俗来讲,就是一个能存放符合某种格式(签名)的方法的指针 的容器  (可以将方法作为一个参数来传递到另一个方法内执行) 定义委托:delegate string DelegateSayHi ...

  2. 高德地图JavaScript API开发研究

    高德地图JavaScript API是一套用JavaScript 语言编写的应用程序接口,可以通过各种API接口向地图添加内容,创建功能丰富.交互性强的地图应用.高德地图JavaScript API ...

  3. bootstrap-fileinput 图片上传

    bootstrap-fileinput 源文件 在网上下载 CSS: <link href="../../static/Bootstrap/css/plugins/bootstrap- ...

  4. sharepoint 2010 切换域

    前提: 现在已经有一个sharepoint 2010的环境,当前域为contosoA.com,有个需求需要将这个域切换到域contosoB.com.下面是成功操作的步骤. 1.数据最重要 备份所有数据 ...

  5. ios coreData使用

    ios中的coredata的使用(转) 分类: ios2013-07-15 18:12 27288人阅读 评论(1) 收藏 举报 Core Data数据持久化是对SQLite的一个升级,它是ios集成 ...

  6. iOS 取得单张系统图片

    这里主要用到了UIImagePickerController 不多废话,直接上代码 // // RootViewController.m // GetImageFromPhotoAlbum // // ...

  7. P3401: [Usaco2009 Mar]Look Up 仰望

    这道题第一眼还以为是树状数组,于是乎打着打着也是能过的 ; var n,i,j,maxx:longint; h,l:array[..] of longint; p:array[..] of longi ...

  8. shell if判断的种类

    if [ $# != 1 ] ; then echo "USAGE: $0 TABNAME" echo " e.g.: $0 CDR_CALL_20040701" ...

  9. opencv 2.4.9+pcl 1.6+vs2010+win7 32开发环境配置

    最近在做图像方面的开发,需要对软件开发平台进行配置,我查找了关于这些方面的内容,由于软件版本很多,每个人的开发平台又不一样所以在对平台进行搭建过程中遇到了很多问题,下面我将我搭建平台的流程做一个记录. ...

  10. 我存在,你深深的循环里--从反射看JSON死循环

      JSON有一个非常经典的问题:JSONException: There is a cycle in the hierarchy!俗称死循环.解决这个问题至少有三种以上的办法,总之一句话就是过滤.今 ...