1.安装必要的基本软件

yum install -y gcc.x86_64 glibc.x86_64 glibc-devel.x86_64 vim-enhanced.x86_64 gcc-java apr apr-devel openssl openssl-devel libgcc.x86_64 docbook-dtds docbook-style-xsl fop libxslt perl-Module-Install.noarch zlib-devel.x86_64 readline-devel.x86_64

2.下载postgresql9.5的sourcecode

curl -O https://ftp.postgresql.org/pub/source/v9.5.1/postgresql-9.5.1.tar.gz

3.创建postgres用户(一定要创建,不然root用户不能启动数据库)

adduser postgres

4.解压编译安装

#解压
tar -zxvf postgresql-9.5.1.tar.gz
#进入解压目录
cd postgresql-9.5.1
#配置prefix是程序放哪里
./configure --prefix=/home/pgdb --enable-thread-safety
#编译&安装
make
make install

5.设置权限

#把程序目录全部赋权给postgres用户
chown -R postgres.postgres /home/pgdb/

注意********以下就切换到postgres用户了*********(上面都是root用户操作)

6.设置环境变量(可以不设,设定的话,就不用打data目录了)

编辑用户目录下.bash_profile文件,主要是设置PGDATA变量

#给个参考
PGHOME=/home/pgdb
export PGHOME
PGDATA=$PGHOME/data
export PGDATA
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin
export PATH

7.使用initdb初始化数据库(在$PGHOME/bin下,设了环境变量就能直接运行了)

initdb -D /home/pgdb/data

8.启动数据库

#注意这个logfile是日志文件,需要指定
pg_ctl start -l <logfile>

 9.设置用户postgres的密码

#使用postgres账户进入控制台(现在密码应该是空)
psql -U postgres postgres=# \password
Enter new password: <123456>
Enter it again: <123456> 把密码设置成123456 可以使用\q命令退出控制台

 10.设定监听

PostgreSQ数据库为了安全,它不会监听除本地以外的所有连接请求,所以如果要远程访问,那么一定要....

有2个文件需要修改,都在PGDATA目录下

#1.postgresql.conf
#找到其中listen_addresses配置那一行,注释掉localhost,然后增加以下行
listen_addresses = '*'
#最大连接数(可以不调)
max_connections = 500
#2.pg_hba.conf
#找到host all all 127.0.0.1/32 trust这一行
#在下面添加你需要访问数据库的网段
host all all 172.16.0.0/16 md5

===

大功告成,可以用连接工具去连接了!

CentOS7源码编译安装Postgresql9.5的更多相关文章

  1. Centos7源码编译安装PHP7.2(生产环境)

    安装PHP依赖包,否则在编译的过程中可能会出现各种报错 # Centos 安装epel-release源并将系统包更新到最新版本 $ yum install epel-release-y $ yum ...

  2. centos7源码编译安装lamp/lnmp

    centos7源码编译安装lamp/lnmp 进程:是包工头(相当于是个门,只管开门关门,不管门内的事儿) 线程:是各种工种(cpu调度的是线程) 进程 是一件事情, 线程 是 同一个时间范围内 同时 ...

  3. centos7 源码编译安装TensorFlow CPU 版本

    一.前言 我们都知道,普通使用pip安装的TensorFlow是万金油版本,当你运行的时候,会提示你不是当前电脑中最优的版本,特别是CPU版本,没有使用指令集优化会让TensorFlow用起来更慢. ...

  4. Centos7源码编译安装mysql8

    前面介绍了很多关于mysql的文章,下面主要介绍一下mysql8的源码编译安装 一 基本环境 [root@CentOS-7-x86-64-Minimal-1810 ~]# cd /usr/local/ ...

  5. CentOS7 源码编译安装Nginx

    源码编译安装nginx     1.下载nginx源码包(这里以nginx-1.18.0为例) wget http://nginx.org/download/nginx-1.18.0.tar.gz 2 ...

  6. centos7源码编译安装Subversion 1.9.5

    svn是Subversion的简称,是一个开放源代码的版本控制系统.svn有两种运行方式:1.独立服务器(svn://xxx.xxx/xxx) 2.借助apache(http://svn.xxx.xx ...

  7. centos7 源码编译安装 php

    准备工作 下载 PHP 源码包并解压 $ wget https://www.php.net/distributions/php-7.2.19.tar.bz2 $ yum -y install bzip ...

  8. centos7 源码编译安装 nginx

    安装步骤 下载 nginx 源码包 官网 $ wget http://nginx.org/download/nginx-1.16.0.tar.gz 解压 nginx 压缩包 $ tar -zxvf n ...

  9. CentOS7 源码编译安装Tengine

    简介 Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.它的目的是打造一个高效.安全的Web平台. 发展 Tengine的性能和 ...

随机推荐

  1. PHP的单态类——为了产生唯一的对象

    pdo就是使用了单态类,使得对象永远只实例化一次,减少了内存消耗. 单态类: <?php class A{ private static $a = null; private function ...

  2. epoll示例

    书到用时方恨少,一切尽在不言中 #include <iostream> #include <sys/socket.h> #include <sys/epoll.h> ...

  3. 时间戳与日期时间互转C语言

    /*  * ctime.h  *  *  Created on: May 19, 2016  *      Author: root  */   #ifndef CTIME_H_ #define CT ...

  4. jQuery的.bind()、.live()和.delegate()的区别

    参考:http://kb.cnblogs.com/page/94469/ 摘要:jQuery的.bind()..live()和.delegate()之间的区别并非总是那么明显的,然而,如果我们对所有的 ...

  5. CAEmitterLayer实现雪花效果

    CAEmitterLayer 简介 在iOS5.0中,Apple引入了CAEmitterLayer层,CAEmitterLayer是一个高性能的粒子效果引擎,被用来创建实时粒子动画,如:烟雾,火,雨等 ...

  6. eclipse 粘贴字符串自动添加转义符

    eclipse -> Window -> Preferences -> Java -> Editor -> Typing -> 勾选{Escape text whe ...

  7. AutoMapper搬运工之初探AutoMapper

    写在前面 知道AutoMapper很久了,但是一直没有用,最近刚好有个场景需要就用了,果然是利器.看了git上的wiki,发现内容其实wiki上写的很全面了,深入的暂时还没挖掘到.不过和群里的朋友交流 ...

  8. C++基本语法

    一.static成员变量和static成员函数 1.普通成员变量每个对象有各自的一份,而静态成员变量一共就一份,为所有对象共享 2.普通成员函数必须具体作用于某个对象,而静态成员函数并不具体作用于某个 ...

  9. android 无限循环的viewpager

    思路 例如存在 A -B -C 需要在viewpager滑动时无限循环 1.我们可以设计 C' A B C A'  C'与C相同,A'与A相同 2.滑动到A'时,则index回到1 3.滑动到C'时, ...

  10. sql Lloader

    create table ban_ji(id integer,ban_ji varchar2(25))insert into ban_ji values(1,'1-(1)');insert into ...