Postgresql安装
安装postgresql数据的主要两篇参考文档链接:
http://www.cnblogs.com/marsprj/archive/2013/02/08/2893519.html
http://www.cnblogs.com/mchina/archive/2012/06/06/2539003.html
1、下载指定版本的postgresql,这里下载postgresql-9.4.5,进行解压,指定安装目录:./configure --prefix=/usr/local/postgresql,然后make,make install(如果安装目录搞错要卸载重新安装,因为指定了安装目录,可以直接删除已安装目录的,再次进行安装就可以了)。
可能会报缺少readline包,yum install readline-devel -y 安装再编译安装即可
2、useradd datangpostgres,创建数据库用户,用指定用户密码:passwd datangpostgres(设置完用户名和密码就先切换到datangpostgres用户下,之后的步骤也用这个用户执行),修改环境变量值,注意这里必须修改datangpostgres用户的环境变量,不能修改/etc/profile文件,因为数据库是用datangpostgres用户初始化并连接的,环境变量写到/etc/profile中会导致数据库无法启动,改完环境变量再进行数据库初始化才不会报错。
su – dangtangpostgres 进入 dangtangpostgres用户,将下列几行加入datangpostgres用户的.bash_profile文件中
export PGHOME=/usr/local/postgresql
export PGDATA=/home/datangpostgres/database
PATH=$PATH:$HOME/bin:$PGHOME/bin
export PATH
用source ~/.bash_profile使修改的.bash_profile文件中的环境变量生效,创建数据库实例存放的位置:mkdir /home/datangpostgres/database,如果需要的话赋予文件夹datangpostgres权限:chown datangpostgres:datangpostgres database ;
3、初始化数据库;
用datangpostgres用户进入到/home/datangpostgres/database 中执行initdb命令初始化数据库,按照提示一直回车继续,设置初始数据库密码(然而实际操作了几次并没有这一步,数据库用户名和密码都是安装时使用的系统用户的用户名和密码)
4、复制安装目录下的linux文件到/etc/init.d/中,并将linux(
加上可执行权限:chmod + linux)名称重命名为postgresql,
cp /usr/local/postgresql-9.4.5/contrib/start-scripts/linux /etc/init.d/postgresql,修改启动文件中的prefix及PGDDATA,修改下列3行加入
prefix=/usr/local/postgresql (软件安装位置)
PGDATA="/home/datangpostgres/database" (数据目录)
PGUSER=datangpostgres (数据库用户名)
注:一定要修改PGUSER为指定用户名,否则会一直报错。
参考后面的补充
5、启动postgrepsql数据库
执行命令 /etc/init.d/postgresql start 启动数据库
或者进入到用 datangpostgres 用户 进入到/usr/local/postgresql/bin目录
执行pg_ctl start/stop 启动或停止数据库
6、配置postgresql数据库可以远程连接访问(执行这一步之前,先将postgres数据停止运行)
1)vim /home/datangpostgres/database/postgresql.conf
修改 listen_addresses = 'localhost' 为 listen_addresses = '*' 记得将前面的#号去掉
2)vim /home/datangpostgres/database/pg_hba.conf
修改 # IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 0.0.0.0/0 trust
补充
7、设置PostgreSQL开机自启动
PostgreSQL的开机自启动脚本位于PostgreSQL源码目录的contrib/start-scripts路径下:linux文件即为linux系统上的启动脚本
1)修改linux文件属性,添加X属性
#chmod a+x linux
2) 复制linux文件到/etc/init.d目录下,更名为postgresql
#cp linux /etc/init.d/postgresql
3)修改/etc/init.d/postgresql文件的两个变量
prefix设置为postgresql的安装路径:/opt/pgsql-9.1.2
PGDATA设置为postgresql的数据目录路径:
PGUSER=datangpostgres (数据库用户名) 千万注意还要修改这个
4) 执行service postgresql start,就可以启动PostgreSQL服务
#service postgresql start
5)设置postgresql服务开机自启动
#chkconfig --add postgresql
# chkconfig postgresql on (有些博客还加了这一条,上面那条命令执行完,可以查看是否已经开机启动,待测试)
# chkconfig --list |grep postgres
执行上面的命令,就可以实现postgresql服务的开机自启动。