您的位置:首页 > 数据库

编译安装PostgreSQL-9.5.3数据库

2016-07-16 15:45 260 查看

编译安装PostgreSQL-9.5.3数据库

编译安装PostgreSQL-953数据库
安装准备工作

编译安装

配置

初始化数据库蔟

安装contrib目录下的工具

PostgreSQL的简单配置

启动和停止数据库

安装准备工作

首先,下载源代码,源代码的下载地址为:https://www.postgresql.org/ftp/source/ ,在此页面选择合适的发行版,但是不要下载测试版本的数据库,不稳定或者可能存在没有修复的bug。

接着,创建一个postgres用户,并将其添加到超级用户中

$ useradd -m postgres -G root -s /bin/bash  #增加postgres用户
$ passwd postgres  #修改密码
$ visudo #在第98行之后增加 postgres ALL=(ALL) ALL ,使得postgres用户具有超级用户权限
$ sudo yum update  #尝试更新


编译安装

下面所有的操作都在postgres用户下执行

解压安装包 tar -xzvf postgresql-9.5.3.tar.gz

进入解压后的postgres目录

编译

$ ./configure --prefix=/usr/local/pgsql9.5.3 --with-prel --with-python
$ make
$ sudo make install #因为在postgres普通用户下执行,所以要使用sudo,安装完成,最后一行会出现PostgreSQL installation complete.
$ cd /usr/local
$ sudo ln -sf /usr/local/pgsql9.5.3 /usr/local/pgsql  #建立postgreSQL软连接,建立软连接是为了方便升级,如果有新的发行版,只需要下载编译之后将软连接指向最新的即可


配置

将下面的内容加到~/.bashrc中

$ PATH=$PATH:/usr/local/pgsql/bin  #配置postgreSQL的可执行路径
$ export LD_LIBRARY_PATH=/usr/local/pgsql/lib  #设置pg共享库的路径


$ source ~/.bashrc #在Linux下一般放在bashrc中,因为可能.profile和.bash_profile可能有时不能生效
$ cd /home/postgres
$ mkdir pgdata  #创建pg数据库的数据目录
$ sudo vim ~/.bashrc #写入下面的环境变量


将下面的环境变量导入~/.bashrc中

$ export PGDATA=/home/postgres/pgdata


初始化数据库蔟

$ initdb   #初始化数据库蔟  会返回SUCCESS字样


安装contrib目录下的工具

在postgresql-9.5.3目录下游contrib,进入安装即可。

PostgreSQL的简单配置

由于没有对PostgreSQL进行配置,所以会导致报错:could not create lock file “/var/run/postgresql/.s.PGSQL.5432.lock”: Permission denied ,并且由于防火墙规则导致不能正确的执行,需要执行下面的过程。

首先pg数据库的数据文件,在其中有一个postgresql.conf文件中修改下面的内容

$ sudo vim postgresql.conf   #修改其中的几个参数


将该文件中的以下几个参数进行修改:

listen-addresses='*'   #默认情况下是localhost,但是其它的主机不能远程登陆到该数据库,最简单的办法是设置为*,这样其它的主机就能访问该数据库
port=5432   #将端口改为5432
logging_collector = on  #日志的收集一般是要打开的,所以需要将其设置为on
log_directory='pg_log'
log_filename = 'postgresql-%Y-%m-%d_%H%%M%S.log'   #下面的代码都是为了每天生成一个新的日志文件
log_truncate_on_rotation = off
log_rotation_age = 1d
log_rotation_size = 0


接着在iptables中将5432端口释放,在/etc/sysconfig/iptables中写入下面的内容:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 5432 -j ACCEPT


启动和停止数据库

$ pg_ctl -D 数据目录 start/stop #启动数据库服务器
$ psql    #进入postgresql数据库


启动之后出现下面的界面:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息