1.环境说明

CentOS7.2
postgresql10.4

2.下载

postgresql的官方地址
 https://www.postgresql.org/ftp/source/
在下载列表中根据需求选择版本10.4,如下图:

进入子目录后,可以看到文件列表:

选择postgresql-10.4.tar.gz,下载完成后上传至RedHat服务器的指定目录即可。

3.配置编译安装

tar -zxvf postgresql-10.4.tar.gz

cd postgresql-10.4

./configure --prefix=/usr/local/postgresql

编译postgres,发现提示缺少readline库,如下图:

yum search readline

发现一个readline-devel包

yum install readline-devel
重新配置
./configure --prefix=/usr/local/postgresq
没报错 编译安装
make && make install

4.配置用户权限与环境变量

useradd postgres

chown -R postgres:postgres /usr/local/postgresql/

su - postgres

vi ~/.bash_profile

PGHOME=/usr/local/postgresql
export PGHOME PGDATA=/usr/local/postgresql/data
export PGDATA PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin
修改完成后可以通过source ./.bash_profile使其立即生效
source ~/.bash_profile

5.初始化数据库

###在使用initdb进行初始化的同时我们可以指定参数来同时进行一些初始化工作,例如指定pgdata(postgresql数据目录)、
指定encoding(编码)、指定数据库超级用户的用户名和密码等等,在最后面我标记出的这段话指出了如果data目录没有指定,
则会默认使用环境变量中的PGDATA,由于之前我们刚刚设置了PGDATA环境变量,所以此处我们也就无需再额外指定,最后执行
初始化命令即可: initdb

初始化完成后,在postgresql的目录可以看到生成的数据目录data以及该目录的相关数据和配置文件:

#base目录是表空间目录
#global目录是相关全局变量的目录
#pg_hba.conf:访问控制配置(127.0.0.1改为信任的客户端ip网段使其可以远程访问)
#postgresql.conf:postgresql主配置文件(listen_address=localhost改为星号使其监听整个网络)

6.修改配置文件

将pg_hba.conf的ip地址修改为0.0.0.0/0,而加密方式改为md5,表示需要密码访问:

修改 postgresql.conf 中的listen_address使其监听整个网络:

7.关闭防火墙

8.启动连接数据库

pg_ctl start -l /usr/local/postgresql/log/pg_server.log

psql

ps -ef|grep postgres

最新文章

  1. Java程序猿 :2016 年终小结
  2. JSP/Servlet的编码原理
  3. Excel 二级下拉菜单
  4. iOS之地理位置及定位系统 -- 入门笔记(用Swift)
  5. ios9+xcode7 适配笔记
  6. verilog实现奇数倍分频
  7. struts2文件上传(保存为BLOB格式)
  8. ORACLE数据库操作基本语句
  9. Nginx学习之三-ngx_http_request_t结构体
  10. JAVA学习第一课(初识JAVA)
  11. CNN计算过程
  12. CentOS在线安装Mysql5.7
  13. vue项目实现记住密码功能
  14. InetAddress and InetSocketAddress
  15. Yii2写日志总结
  16. Linux DTS(Device Tree Source)设备树详解之二(dts匹配及发挥作用的流程篇)【转】
  17. 【BZOJ1558】等差数列(线段树)
  18. struct与class区别联系(转)
  19. Java Naming and Directory Interface (JNDI) Java 命名和目录接口
  20. IE报错:SCRIPT1010: 缺少标识符

热门文章

  1. 从排序后的结果集中删除 前n条记录
  2. Java9新特性
  3. 在ubuntu16中部署Django使用memcached作为缓存
  4. Python3 字符串(七)
  5. Hibernate结合JPA编写通用泛型多条件查询
  6. 此文记录了我从研二下学期到研三上学期的找工历程,包括百度、腾讯、网易、移动、电信、华为、中兴、IBM八家企业的面试总结和心得--转
  7. Ethereum部署私有合约常见问题汇总
  8. python 读写三菱PLC数据,使用以太网读写Q系列,L系列,Fx系列的PLC数据
  9. 1月中旬值得一读的10本技术新书(机器学习、Java、大数据等)!
  10. [Luogu4899][IOI2018] werewolf 狼人