step1:官网下载postgres源码

URL:https://www.postgresql.org/ftp/source/

step2:解压源码文件

tar -zxvf postgresql-12.0.tar.gz

step3:移动解压后的文件到安装目录

mv postgresql-12.0 /usr/local/pgsql

step4:执行./configure命令

./configure --prefix=/usr/local/pgsql --without-readline --enable-debug

相关的配置选项:https://blog.csdn.net/weixin_34067049/article/details/90423264

指定安装后的可执行文件资源目录

step5:执行make命令

make

step6:执行make install命令

make install

psql --version  //查询安装版本

step7:添加用户,设置目录权限

sudo adduser postgres

sudo passwd postgres

sudo mkdir -p /usr/local/pgsql/data

sudo chown -R postgres:root /usr/local/pgsql

 此处若在root用户下执行过chmod -R 777 *命令,容易造成权限错误,导致postgres服务无法启动,需将root权限改回

 查看/usr/local/pgsql/data目录下的serverlog日志文件,查看报错,执行命令改回权限chmod 0700 /usr/local/pgsql/data

step8:配置环境变量

切换用户 su - postgres
打开文件 vim ~/ .bash_profile

添加路径 export PATH=$PATH:/usr/local/pgsql/bin

执行生效 source /etc/profile

step9:切换用户,初始化数据

su - postgres /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

step10:Linux开机自启动服务

cp /usr/local/pgsql/contrib/start-scripts/linux /etc/init.d/postgresql    //将linux文件复制到新目录init.d,并重命名为postgresql

chmod u+x /etc/init.d/postgresql    //只授予这个文件的所属者u执行的权限x
systemctl enable postgresql 

systemctl start postgresql

step11:创建测试库(切换到用户postgres下执行命令)

su - postgres

createdb test

psql test

step12:允许所有连接

打开文件 /usr/local/pgsql/data/pg_hba.conf

添加内容 host all all 0.0.0.0/ trust

step13:侦听所有连接

打开文件 /usr/local/pgsql/data/postgresql.conf

添加内容 listen_addresses = '*'
logging_collector = on

-----------------------------------------------------------------------------------------------------

切换目录    cd /etc/init.d

启动命令    ./postgresql start

重启命令    ./postgresql restart

-----------------------------------------------------------------------------------------------------

step14:DataGrip连接测试库test

Ubuntu环境下Postgres源码文件编译安装步骤的更多相关文章

  1. LAMP 环境搭建之源码包编译安装

    mysql用的二进制包安装. Apache php 用的源码包 mysql版本5.5.46    Apache版本2.4.7  PHP版本:5.5 mysql安装部分参考了阿铭linux的内容. 这是 ...

  2. Ubuntu下STL源码文件路径+VS2010下查看STL源码

    Ubuntu版本信息 然后STL源码位置就在 /usr/include/c++/7/bits /usr/include/c++/7.4.9/bits 这两个文件下都有 然后我日常写程序用的Window ...

  3. centos7环境下apache2.2.34的编译安装

    .获取apache2..34的源码包 http://archive.apache.org/dist/httpd/httpd-2.2.34.tar.gz .获取apache的编译参数 apache的编译 ...

  4. redhat6.2 clang编译环境搭建(采用源码包编译安装)

    1. About clang++ office site:http://clang.llvm.org/ A major focus of our work on clang is to make it ...

  5. 《UNIX网络编程(第3版)》unp.h等源码文件的编译安装

    操作系统:Mac OS X 10.11.5 1.下载书中的源代码:点击下载 2.切换到解压后的目录 unpv13e,先查看下 README,依次执行: ./configure cd lib make ...

  6. Ubuntu系统下OpenDaylight源码编译安装

    操作系统:Linux x64 / Ubuntu 14.04 研究领域:软件定义网络SDN (Software-defined Networking) 开发组件:OpenDaylight 声明:转载请注 ...

  7. [C/C++] 各种C/C++编译器对UTF-8源码文件的兼容性测试(VC、GCC、BCB)

    在不同平台上开发C/C++程序时,为了避免源码文件乱码,得采用UTF-8编码来存储源码文件.但是很多编译器对UTF-8源码文件兼容性不佳,于是我做了一些测试,分析了最佳保存方案. 一.测试程序 为了测 ...

  8. Windows10 + VS2015 (Win SDK10)环境下的64位 VTK编译小结

    之前在学习vtk过程中,感觉vtk的编译还是很简单的,基本上不会碰到什么棘手的错误.但是,当我在Win10+VS2015这个环境下配置时,却遇到了麻烦.经过一番折腾之后,终于将vtkbian编译成功了 ...

  9. 在Ubuntu环境下配置Proxmark3(PM3)使用环境

    参考资料:PM3官方Wiki 因为国内网络上大多是在Kali系统上使用PM3的教程(链接1.链接2.链接3),而这些教程的步骤对于Ubuntu系统并不完全适用.所以写下本文,记录我个人的安装经历. 本 ...

随机推荐

  1. O(n)时间复杂度查找数组第二大元素

    分析:要求O(n)时间复杂度,不能用排序.可以设置两个临时变量分别保存当前最大值以及当前第二大的值,然后遍历数组,不断更新最大值和第二大的数值. 代码: bool findSec(vector< ...

  2. yang文件语法格式

    前言 NETCONF(Network Configuration Protocol),该协议的配置功能非常强大,同时兼顾监控和故障管理,安全验证和访问控制,得到业界的一致认可,被广泛用来配置网络 NE ...

  3. IIS身份验证和文件操作权限(二、匿名身份验证)

    一.配置匿名身份验证 二.浏览站点 -- 操作文件 ①无操作权限 点击写入 ②有操作权限(IIS_IUSRS.Authenticated Users两个任选一个) 点击写入

  4. 剑指offer——44连续子数组的最大和

    题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量 ...

  5. C#比较两个日期的大小

    DateTime dt1 = DateTime.Parse("2006-04-01"); DateTime dt2 = DateTime.Parse("2006-05-0 ...

  6. @ApiImplicitParams、ApiImplicitParam的使用

    @ApiImplicitParam:作用在方法上,表示单独的请求参数 参数: 1. name :参数名. 2. value : 参数的具体意义,作用. 3. required : 参数是否必填. 4. ...

  7. Android studio的ERROR: Unable to resolve dependency for 错误

    同事拷贝一份工程给我,在我这里用AS编译的时候出现这个错误.按照网上很多的方法都不行,后来终于可以. 在AS中打开FILE->Setting->gradle->,在右边service ...

  8. react 点击事件传值

    test(e){ console.log(e.target) } <button onClick={(e)=>{this.test(e)}}></button> 有时要是 ...

  9. Logstash详解之——filter模块-grok插件

    1. grok插件:能匹配一切数据,但是性能和对资源的损耗也很大. grok内置字段类型参见: https://blog.csdn.net/cui929434/article/details/9439 ...

  10. elementUI+JS实现全选与反选

    在实际项目开发过程中,遇到的需求,需要实现全选以及取消全选等功能,主要使用ElementUI + JS来实现,具体代码如下: <!DOCTYPE html> <html lang=& ...