微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过源码编译安装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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐