您的位置:首页 > 运维架构 > Linux

centos安装和配置postgresql,数据库版本可自定

2017-09-22 10:39 711 查看

声明:本教程是参考网上原有教程进行编辑,本教程内容按我实际实践过程进行记录,实际操作中是对远程服务器进行搭建数据库。

安装前准备

yum install readline-devel zlib-devel


上述步骤需要优先进行,后续安装数据库需要用到相关的组件,否则后续安装将会失败,提示缺少某个服务之类的。

下载源码并解压、编译安装

wget https://ftp.postgresql.org/pub/source/v9.4.1/postgresql-9.4.1.tar.bz2 tar -xjvf postgresql-9.4.1.tar.bz2
cd postgresql-9.4.1
./configure --prefix=/home/hadoop/pgsql
make
make install


注明:这里为了省事直接使用用户hadoop进行操作。最好单独建立一个用户,如:postgres.

此处你可以直接使用上述weget指令进行现在源代码,然后进行编译安装,也可以登陆到以下网址将自己需要的版本进行下载,然后通过相关软件(FileZilla等)上传到服务器上,然后进行解压编译安装:

https://ftp.postgresql.org/pub/source
或者 http://www.postgresql.org/ftp/source[/code] 
因为项目需要使用到postgresql-8.3.15版本,故我将weget地址修改如下:

wget https://ftp.postgresql.org/pub/source/v8.3.15/postgresql-8.3.15.tar.bz2[/code] 
后续步骤一样即可。

解释”./configure –prefix=/home/hadoop/pgsql”,后面定义的是安装的目录,为了能正确安装,请选择合适的目录,我配置的路径为/usr/local/psql,大家可以根据需要进行变更。

创建用户组和用户

groupadd postgres
useradd -g postgres postgres


建好数据库存放数据库和初始化数据的目录,并赋予postgres用户权限()

mkdir -p /home/hadoop/pgsql/data
cd /home/hadoop/pgsql
chown postgres:postgres data


注:chown命令中,冒号前为用户名,后为组名。

该目录的位置最好定义到数据库的安装目录下,我的为:/usr/local/psql/data

初始化数据库目录:

切换用户

su - postgresql


初始化数据

/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data


启动数据库

/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data


注:以上操作是针对没有进行环境变量配置时进行的初始化数据库目录操作。

配置环境变量

vim /etc/profile
# postgres
PGDATA=/home/hadoop/pgsql/data
PATH=$PATH:/home/hadoop/pgsql/bin
export PGDATA PATH


根据自己实际更改自己对应的数据库初始化目录,和数据库的bin目录即可。

配置完成后进行更新配置文件,使其生效

source /etc/profile


可以通过指令查看变量更改是否生效:

echo $PATH


可能是因为有缓存输出吧,我暂时没弄清楚,之前的环境变量也会输出,你重复输出几遍就可以看到重复了,你只要关注最后的一部分是否改成你当前的即可。如果你不想看到重复的内容,那么你可以重新断开远程连接重新连接再输出即可。

初始化数据库(指定PGDATA后可以不用-D参数)

pg_ctl initdb


注:可能是这是我安装的数据库版本较低还是其他原因,该指令没法正常执行,解决办法只能使用前面提到的直接到相关目录进行运行指令了。(待考究)

启动数据库实例 ,开启服务

mkdir /home/hadoop/pgsql/log-history  # 记录日志
pg_ctl -D /home/hadoop/pgsql/data -l /home/hadoop/pgsql/log-history/logfile start


注:我启动数据库采用的是前一种方法。

关闭数据库实例

pg_ctl stop


查看运行状态

pg_ctl status


更多指令请使用:

pg_ctl --help


配置监听地址和端口:

vi /usr/local/pgsql/data/postgresql.conf


取消以下两行的注释

listen_addresses = '*'

port = 5432


允许远程连接:

vi /usr/local/pgsql/data/pg_hba.conf


添加

host all all 192.168.1.0/24 trust


每项的具体意思在配置文件中有详细说明

配置iptables让远程主机能访问:

   vi /etc/sysconfig
```
添加
```
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
   service iptables restart


让postgresql数据库随系统启动而启动:

将启动脚本拷贝到/etc/init.d/目录下,具体执行如下命令:

cd /etc/rc.d/init.d
cp (第一步解压的安装文件目录)/postgresql-8.3.7/contrib/start-scripts/linux postgresql
chmod +x postgresql
vi postgresql
prefix=/usr/local/pgsql
PGDATA="/usr/local/pgsql/data"
PGUSER=postgres
PGLOG="/var/log/pgsql.log"

chkconfig --add postgresql


启动数据库:

service postgresql start


配置完毕 。

更多其他的配置尚未用到,参考配置博客:

http://blog.csdn.net/yeruby/article/details/49126779

http://www.blogjava.net/yuanqixun/archive/2011/05/27/351210.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: