您的位置:首页 > 数据库

源码方式安装postgresql

2016-11-22 14:28 549 查看

源码方式安装postgresql

1.1、软件下载

在root 用户下
cd /usr/local/src/
wget https://ftp.postgresql.org/pub/source/v9.6.1/postgresql-9.6.1.tar.gz[/code] 
1.2、安装依赖包

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


1.3、解压安装包

tar vfx postgresql-9.6.1.tar.gz


1.4、配置编译选项

cd postgresql-9.6.1
./configure --prefix=/usr/local/src/postgresql-9.6.1 --with-perl --with-python --with-libxml --with-libxslt


1.5、编译

gmake
gmake install
安装PG插件
cd /usr/local/src/postgresql-9.6.1/contrib
gmake
gmake install


1.6、加载动态库

echo "/usr/local/src/postgresql-9.6.1/lib" >> /etc/ld.so.conf.d/pgsql.conf
ldconfig


1.7、创建用户postgres

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


1.8、创建PG数据目录(在初始化的时候,看提示添加超级用户的密码)

mkdir -p /data/pg/data
chown -R postgres:postgres /data/pg
su - postgres
/usr/local/src/postgresql-9.6.1/bin/initdb --no-locale -U postgres -E utf8 -D /data/pg/data -W


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

到 root  用户下vi /etc/profile
复制下面代码:
PGDATA=/data/pg/data
PGHOST=127.0.0.1
PGDATABASE=postgres
PGUSER=postgres
PGPORT=5432
PATH=/usr/local/src/postgresql-9.6.1/bin:$PATH
export PATH
export PGDATA PGHOST PGDATABASE PGUSER PGPORT


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

source /etc/profile


1.11、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
加载配置:
pg_ctl reload -D  /data/pg/data
显示服务状态:
pg_ctl status -D  /data/pg/data


1.12、配置开机启动

a.复制启动脚本

到root用户下
cp /usr/local/src/postgresql-9.6.1/contrib/start-scripts/linux /etc/init.d/postgresql


b.设置可执行

chmod +x /etc/init.d/postgresql


c.vi /etc/init.d/postgresql

把PGDATA改成PGDATA=/data/pg/data
把prefix 改成prefix =/usr/local/src/postgresql-9.6.1


d.加入开机启动

chkconfig postgresql on


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

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


1.14、测试

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


1.15、配置所有用户连接

修改/var/lib/pgsql/data/postgresql.conf
listen_addresses = '*'     //监听所有ip的连接,默认是本机
port = 5432             //这个不开也行,默认就是5432端口
修改/var/lib/pgsql/data/pg_hba.conf
host    all         all         0.0.0.0/0             md5
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息