通过源码编译安装PostgreSQL步骤及问题总结

今天博主在ubuntu 10.04安装从enterprisedb下载的postgresql安装包是出现一个问题,运行后提示“Segmentation fault”错误,安装失败。之前我在12.04版的系统中有安装过,一切正常。之后公司领导说这个可能是系统不兼容的关系,所以需要用源码安装。当然,源码安装比安装包麻烦了许多。


###1.下载源码包并解压。源码下载地址:http://www.postgresql.org/ftp/source/,这里博主选用的是9.3.2版本。


root@vm-199:~# wget http://ftp.postgresql.org/pub/source/v9.3.2/postgresql-9.3.2.tar.gz

root@vm-199:~# tar zxvf postgresql-9.3.2.tar.gz


###2.编译安装,安装到/opt/PostgreSQL/9.3目录。

root@vm-199:~# cd postgresql-9.3.2

root@vm-199:~# ./configure --prefix=/opt/PostgreSQL/9.3

root@vm-199:~# make

root@vm-199:~# make install

 

###3.看到PostgreSQL installation complete.说明安装成功。

###4.创建postgres用户和数据目录/opt/PostgreSQL/9.3/data,修改数据目录所有者和权限。

root@vm-199:~# adduser postgres

root@vm-199:~# mkdir -p /opt/PostgreSQL/9.3/data

root@vm-199:~# chown -R postgres.postgres /opt/PostgreSQL/9.3/data

root@vm-199:~# chmod -R go-rwx /opt/PostgreSQL/9.3/data


###5.设置全局环境变量

root@vm-199:~# vi /etc/profile

###添加如下配置到打开文件中。

export PATH=/opt/PostgreSQL/9.3/bin:$PATH

export PGDATA=/opt/PostgreSQL/9.3/data

export PGHOME=/opt/PostgreSQL/9.3

export.UTF-8

export PGPORT=5432

 

###6.初始化数据库,启动。

postgres@vm-199:~$ initdb -D /opt/PostgreSQL/9.3/data --locale=zh_CN.UTF8

postgres@vm-199:~$ pg_ctl start

这里博主在第二步的时候碰到过一个问题,运行./configure –prefix=/opt/PostgreSQL/9.3后提示“configure: error: readline library not found”的错误,在askubuntu上看到解决办法是先安装libreadline-dev依赖。


最后我们把postgresql添加到服务中,设置开机自动启动。


root@vm-199:~# cd /etc/init.d

root@vm-199:/etc/init.d# wget http://download.chekiang.info/blog/postgresql-9.3

root@vm-199:/etc/init.d# chmod +x postgresql-9.3

root@vm-199:/etc/init.d# update-rc.d postgresql-9.3 defaults

至此postgresql的安装应该已经全部结束,但是博主在导入数据的时候发现postgres_fdw扩展没有安装。按照之前这篇文章http://www.sijitao.net/1434.html介绍的postgres_fdw安装时出现错误,提示如下。


postgres=# create extension postgres_fdw;

ERROR: could not open extension control file "/opt/PostgreSQL/9.3/share/postgresql/extension/postgres_fdw.control": No such file or directory

查看postgresql官方文档,原来编译安装的时候扩展默认是不安装的,“When building from the source distribution, these components are not built automatically”。手动安装postgres_fdw扩展比较简单,进入源码目录下的/contrib/postgres_fdw,分别运行make和make install进行安装,成功再运行create extension postgres_fdw就不会提示错误了。


有关扩展安装可以查看官方介绍:http://www.postgresql.org/docs/current/static/contrib.html 。

原文链接:http://www.sijitao.net/1535.html

你可能感兴趣的:(源码,安装,PostgreSQL,PostgreSQL)