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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Pencil1312/article/details/78060325

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

安装前准备

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

因为项目需要使用到postgresql-8.3.15版本,故我将weget地址修改如下:

wget https://ftp.postgresql.org/pub/source/v8.3.15/postgresql-8.3.15.tar.bz2

后续步骤一样即可。

解释”./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

猜你喜欢

转载自blog.csdn.net/Pencil1312/article/details/78060325