源码安装Postgresql9.5

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了源码安装Postgresql9.5相关的知识,希望对你有一定的参考价值。

Postgresql简介:

PostgreSQL是一个功能强大,开源对象关系型数据库系统。它拥有超过15年的持续开发和经验证的体系结构,赢得了良好的声誉:可靠性,数据完整性和正确性

官方号称:

PostgreSQL: The world‘s most advanced open source database

官网下载地址:https://www.postgresql.org/download/

Postgresql部署:

环境:

[[email protected] ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core)

 下载包:

[[email protected] ~]# wget https://ftp.postgresql.org/pub/source/v9.5.4/postgresql-9.5.4.tar.gz

 安装依赖包:

[[email protected] ~]# yum install gcc gcc-c++ automake autoconf libtool make readline-devel zlib-devel  -y
[[email protected] ~]# yum install -y perl-ExtUtils-Embed  perl-ExtUtils-MakeMake perl-ExtUtils-MakeMaker-Coverage readline readline-devel pam pam-devel libxml2 libxml-devel libxml2-python libxml2-static  libxslt libxslt-devel  tcl tcl-devel python-devel openssl openssl-devel

创建postgresql用户及设置密码(postgresql默认不允许root用户启动):

[[email protected] ~]# useradd -u 6233 -p 123456 postgres    
[[email protected] ~]# id postgres
uid=6233(postgres) gid=6233(postgres) groups=6233(postgres)

 编译安装postgresql:

[[email protected] ~]# tar -xf postgresql-9.5.4.tar.gz 
[[email protected] ~]# cd postgresql-9.5.4
[[email protected] postgresql-9.5.4]# ./configure --prefix=/usr/local/postgresql  --with-pgport=1921 --with-perl --with-tcl --with-python --with-openssl --with-pam  --with-libxml --with-libxslt --enable-thread-safety --with-wal-blocksize=16 --with-blocksize=16
编译安装有两种方式:make和gmake,这里推荐gmake
方法1:gmake world &&  gmake install-world
方法2:make -j 4 && make install 
[[email protected] postgresql-9.5.4]# gmake world &&  gmake install-world
[[email protected] postgresql-9.5.4]# ls /usr/local/postgresql/
bin  include  lib  share

 设置数据库目录及权限:

[[email protected] ~]# mkdir -p /data/postgresql
[[email protected] ~]# chown -R postgres.postgres /data/postgresql/

 添加系统环境变量:

[[email protected] ~]# echo ‘export PATH=$PATH:/usr/local/postgresql/bin/‘ >> /etc/profile
[[email protected] ~]# psql -V
psql (PostgreSQL) 9.5.4

 初始化数据库:

[[email protected] ~]# su - postgres
[[email protected] ~]$ initdb -D /data/postgresql/ -U postgres -E UTF8 --locale=C -W
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "C".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /data/postgresql ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
creating template1 database in /data/postgresql/base/1 ... ok
initializing pg_authid ... ok
Enter new superuser password:      设置超级用户的密码
Enter it again: 
setting password ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects‘ descriptions ... ok
creating collations ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
loading PL/pgSQL server-side language ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok
syncing data to disk ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.

Success. You can now start the database server using:

    pg_ctl -D /data/postgresql/ -l logfile start

参数:
-U postgres:指定的数据库超级管理员,自定义
-W :设置密码
-D :数据存放目录
-E :设置编译

修改验证方式简单的配置:

[[email protected] ~]$ vim /data/postgresql/pg_hba.conf
host    all             all             127.0.0.1/32            md5    MD5验证方式需要输入用户密码
[[email protected] ~]$ vim /data/postgresql/postgresql.conf
port = 1236                            # (change requires restart)
max_connections = 100 
unix_socket_directories = ‘/dev/shm/‘

 添加服务管理脚本:

[[email protected] ~]# cd postgresql-9.5.4
[[email protected] postgresql-9.5.4]# cp contrib/start-scripts/linux /etc/init.d/postgresql
[[email protected] postgresql-9.5.4]# chmod +x /etc/init.d/postgresql
[[email protected] postgresql-9.5.4]# chkconfig postgresql on
[[email protected] postgresql-9.5.4]# vim /etc/init.d/postgresql 
prefix=/usr/local/postgresql
PGDATA="/data/postgresql"
PGUSER=postgres
PGLOG="$PGDATA/serverlog"

启动postgresql:

[[email protected] postgresql-9.5.4]# /etc/init.d/postgresql start
[[email protected] postgresql-9.5.4]#  lsof -i :1236              
COMMAND     PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
postmaste 16232 postgres    3u  IPv6  53256      0t0  TCP localhost:bvcontrol (LISTEN)
postmaste 16232 postgres    4u  IPv4  53257      0t0  TCP localhost:bvcontrol (LISTEN)

 登陆postgresql:

[[email protected] ~]# psql -h 127.0.0.1 -p 1236 -U postgres -d postgres
Password for user postgres: 
psql (9.5.4)
Type "help" for help.

postgres=#

 安装所有的扩展包:

[[email protected] ~]# cd postgresql-9.5.4/contrib/  
[[email protected] contrib]# ls -d */ | xargs -n 1 -P 0 sh -c ‘cd {}; make ; make install;‘c



本文出自 “一步小心踏破了红尘” 博客,请务必保留此出处http://lorne.blog.51cto.com/9062483/1854785

以上是关于源码安装Postgresql9.5的主要内容,如果未能解决你的问题,请参考以下文章

Linux CentOS 7 安装PostgreSQL 9.5(源码编译)

Linux CentOS 7 安装PostgreSQL 9.5(源码编译)

在CentOS 6.3 安装postgresql9.5

centos7 在线安装postgresql9.5

Android 插件化VirtualApp 源码分析 ( 目前的 API 现状 | 安装应用源码分析 | 安装按钮执行的操作 | 返回到 HomeActivity 执行的操作 )(代码片段

debian8下给postgresql9.5配置pgpool-II-3.5