【转】postgresql 9.4 在linux环境的安装步骤详解

原文连接:http://www.cnblogs.com/neights/p/5992979.html
原文有部分不能使用 已在此处更改

本文章来为各位介绍一篇关于postgresql 9.4 在linux环境的安装步骤详解,希望文章能够对各位新手朋友带来帮助的哦。

环境说明

系统:centos 6.4 64位
软件:postgresql 9.4.1

软件下载

cd /usr/local/src/
wget https://ftp.postgresql.org/pub/source/v9.4.1/postgresql-9.4.1.tar.gz

安装依赖包

yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake

安装postgresql

tar xf postgresql-9.4.1.tar.gz
cd postgresql-9.4.1
./configure --prefix=/usr/local/pgsql --with-perl --with-python --with-libxml --with-libxslt
make
make install

安装PG插件

cd /usr/local/src/postgresql-9.4.1/contrib
make
make install

加载动态库

echo "/usr/local/pgsql/lib" >> /etc/ld.so.conf.d/pgsql.conf
ldconfig
初始化数据库

创建用户postgres

useradd postgres
echo "postgres"|passwd --stdin postgres

创建PG数据目录

mkdir -p /data/pg/data
chown -R postgres:postgres /data/pg
/usr/local/pgsql/bin/initdb --no-locale -U postgres -E utf8 -D /data/pg/data -W
(在初始化的时候,看提示添加超级用户的密码)

备注:

initdb [选项]... [DATADIR]
-A, --auth=METHOD 本地连接的默认认证方法
-D, --pgdata=DATADIR 当前数据库簇的位置
-E, --encoding=ENCODING 为新数据库设置默认编码
--locale=LOCALE 为新数据库设置默认语言环境
--lc-collate, --lc-ctype, --lc-messages=LOCALE
--lc-monetary, --lc-numeric, --lc-time=LOCALE
为新的数据库簇在各自的目录中分别
设定缺省语言环境(默认使用环境变
量)
--no-locale 等同于 --locale=C
--pwfile=文件名 对于新的超级用户从文件读取口令
-T, --text-search-config=CFG
缺省的文本搜索配置
-U, --username=NAME 数据库超级用户名
-W, --pwprompt 对于新的超级用户提示输入口令
-X, --xlogdir=XLOGDIR 当前事务日志目录的位置

非普通使用选项:
-d, --debug 产生大量的除错信息
-L DIRECTORY 输入文件的位置
-n, --noclean 出错后不清理
-s, --show 显示内部设置

其它选项:
-?, --help 显示此帮助, 然后退出
-V, --version 输出版本信息, 然后退出

如果没有指定数据目录, 将使用环境变量 PGDATA

配置运行环境变量(方便管理)

切换到root

vim /etc/profile

添加以下代码:

PGDATA=/data/pg/data
PGHOST=127.0.0.1
PGDATABASE=postgres
PGUSER=postgres
PGPORT=5432
PATH=/usr/local/pgsql/bin:$PATH
export PATH
export PGDATA PGHOST PGDATABASE PGUSER PGPORT

执行生效

source /etc/profile

postgresql服务管理

启动:
pg_ctl start -D /data/pg/data

重启:
pg_ctl restart -D /data/pg/data

停止:
pg_ctl stop -D /data/pg/data

强制重启:
pg_ctl restart -D /data/pg/data -m f

强制停止:
pg_ctl stop -D /data/pg/data -m f
-m f 指定快速关闭

加载配置:
pg_ctl reload -D /data/pg/data

显示服务状态:
pg_ctl status -D /data/pg/data

连接数据库

psql -h 127.0.0.1 -U postgres -p 5432 -d postgres -W
-d 指定数据库 ,-W 输入密码 , -U 指定用户,-p 指定端口,-h 指定IP

复制PostgreSQL执行脚本(此处在root用户下)

cp /usr/local/src/postgresql-9.4.1/contrib/start-scripts/linux /etc/init.d/postgresql

chmod +x /etc/init.d/postgresql

修改

vi /etc/init.d/postgresql
把PGDATA改成PGDATA=/data/pg/data

加入开机启动

chkconfig postgresql on

管理PG服务时也可以直接用上面启动脚本

启动:service postgresql start
停止:service postgresql stop
重启:service postgresql restart
加载:service postgresql reload
状态:service postgresql status

PostgreSQL开启远程访问

允许远程主机登录

打开postgresql的服务启动配置文件

cd /data/pg/data
1.修改postgresql.conf文件,将数据库服务器的监听模式修改为监听所有主机发出的连接请求。

定位到#listen_addresses=’localhost’。PostgreSQL安装完成后,默认是只接受来在本机localhost的连接请 求。

将行开头都#去掉,将行内容修改为listen_addresses=’*'来允许数据库服务器监听来自任何主机的连接请求

打开postgresql的远程访问配置文件

cd /data/pg/data
更改 pg_hba.conf 文件

替换这一行即可:
host all all 0.0.0.0/0 md5


【转】postgresql 9.4 在linux环境的安装步骤详解_第1张图片
重启数据库:

service postgresql restart

你可能感兴趣的:(【转】postgresql 9.4 在linux环境的安装步骤详解)