zoukankan      html  css  js  c++  java
  • linux下PostgreSQL数据库的源码安装

    实验环境>>>>>>>>>>>>>>>>>>
    操作系统: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@5201351 ~]# yum install gcc make -y
    [root@5201351 ~]# yum install readline-devel zlib-devel -y 

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

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

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

    [root@5201351 postgresql-9.3.5]# useradd postgres
    [root@5201351 postgresql-9.3.5]# mkdir /usr/local/pgsql/data                    //创建数据库目录
    [root@5201351 postgresql-9.3.5]# 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@5201351 ~]$ initdb -D /usr/local/pgsql/data                          //初始化postgresql数据库
    [postgres@5201351 ~]$ postgres -D /usr/local/pgsql/data >logfile 2>&1 &        //启动postgresql数据库

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

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

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

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

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

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

    [root@5201351 ~]# chkconfig --level 35 postgresql-9.3 on
  • 相关阅读:
    Java高并发17-LongAccumulator类详解
    Java高并发16-LongAdder类源码解析(下)
    SpringBoot之模板引擎
    SpringBoot之yml与properties配置文件格式的区别
    SpringBoot之SpringBoot整合静态资源访问
    SpringBoot之SpringBoot的启动方式
    SpringBoot之RestController注解
    SpringBoot之SpringBoot依赖引入
    SpringBoot之SpringBoot与SpringCloud之间的区别
    SpringBoot之IDEA创建SpringBoot项目
  • 原文地址:https://www.cnblogs.com/5201351/p/4225141.html
Copyright © 2011-2022 走看看