依赖工具库

注意:默认用户名是postgres,以下命令是Ubuntu操作系统中的命令

make

GCC

Zlib

安装命令:sudo apt-get install zlib1g-dev
注意有些软件包的名字无法确定,可以借助ubuntu software center来确定其有效名字,
readline

安装命令:sudo apt-get install libreadline6 libreadline6-dev
注意网上有的写安装readline-dev,这并不适用于Ubuntu系统,一定要找一下自己的操作系统安装readline的命令,不同的操作系统,命令是不一样的,要小心

安装

创建用户组和用户,并设置密码(root不能执行pgsql的一些命令,所以一定要创建postgresql这个用户)

sudo useradd -d /home/postgres -m postgres  #创建用户并为用户创建主目录

passwd postgres  #为用户postgre设置密码
注:

-m:自动建立用户的登入目录。

创建用户时没有密码,登录时又提示输入密码,那就 sudo passwd 用户名,然后回车输入两遍密码就可以为新用户添加密码了

下载postgresql

下载地址:https://www.postgresql.org/ftp/source/v11.0/

解压文件

  在\home\postgres\目录下执行:tar -zxvf postgresql-11.0.tar

进入解压目录并配置参数

进入解压目录:cd postgresql-11.0

创建安装目录:sudo mkdir /opt/postgresql-11.0

配置安装参数:./configure --prefix=/opt/postgresql-11.0

注:

--prefix 指定安装目录

如果缺少readline,zlib,会报错,安装方法见依赖工具库

编译并安装

make & make install

注:linux编译安装中configure、make和make install各自的作用 https://www.jianshu.com/p/c70afbbf5172

创建数据库库文件存储目录并给postgresql用户赋予/opt/postgresql-11.0权限:

sudo mkdir /opt/postgresql-11.0/data

sudo mkdir /opt/postgresql-11.0/log

sudo touch /opt/postgresql-11.0/log/server.log

sudo chown -R postgres.postgres /opt/postgresql-11.0

注:-R是将文件和子目录的所有权也修改了

切换用户:

su postgres

添加环境变量:

export POSTGRESQL_HOME=/opt/postgresql-11.0
export PGDATA=/opt/postgresql-11.0/data

export PATH=.:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/opt/postgresql-11.0/bin:/opt/postgresql-11.0/data
#export PATH=$PATH:$POSTGRESQL_HOME/bin:$PGDATA
echo $PATH  #查看环境变量

注:

若环境变量出错,可执行

命令行中执行export,只对当前用户,当前终端有效,切换用户后再切换回来,需重新设置

初始化数据库目录:

initdb

配置监听地址和端口:

vi data/postgresql.conf
修改为如下配置:
  listen_addresses = '*'
  port = 5432

也就是将注释号"#"去掉,并把"localhost"改为"*"

注:PostgreSQL.conf文件配置详解[转]https://www.cnblogs.com/kuang17/p/6902712.html 特别详细,备查

允许远程主机连接:

vi data/pg_hba.conf
添加加如下配置
host all all 0.0.0.0/0 trust

启动数据库

pg_ctl -l log/server.log start

注:

pg_ctl stop  #关闭数据库

pg_ctl restart   #重启数据库

-D data可以省略,系统会读取 PGDATA环境变量

启动数据库时遇到的错误

原因:修改pg_hba.conf出错

创建并连接数据库

createdb  stu
psql  stu
注:

stu为数据库名,可以自己指定
连接数据库时,必须指定数据库名
创建数据库时遇到错误:“could not conoect to database template1: could not connect to server:connections on unix domain socket "/var/run/postgresql/.s.PGSQL.5432”

解决方法:加上-h localhost这个选项

可能是在pg_hba.conf中没有设置好本机访问
连接数据库时遇到“psql: FATAL: role "postgresql" does not exist”错误
解决方案:使用 “psql -U postgres [数据库名]” 登录
连接数据库时遇到“psql: FATAL: Peer authentication failed for user "postgres"错误
解决办法如下:

1). 运行下面的命令编辑pg_hba.conf文件 sudo vim /etc/postgresql/9.1/main/pg_hba.conf

2). 将

# Database administrative login by Unix domain socket

local all postgres peer

改为

# Database administrative login by Unix domain socket

local all postgres trust

3). 保存后执行下面的命令重新加载配置文件: sudo /etc/init.d/postgresql reload

Ubuntu16 源码方式安装postgresql数据库的更多相关文章

  1. Linux下源码编译安装PostgreSQL数据库

    我使用的Postgres的源码版本为 postgresql-9.3.5.系统为 CentOS6.5 ,是64位. 下载以后直接阅读其中的 README然后阅读其中的INSTALL,按照其中将的步骤做就 ...

  2. Linux上生产环境源码方式安装配置postgresql12

    1.Linux上源码方式安装postgresql12 01.准备操作系统环境 echo "192.168.1.61 tsepg61" >> /etc/hosts mou ...

  3. centos7下源码方式安装gitlab8.9+发送邮件+ldap

    CentOS7下源码方式安装gitlab 环境描述 操作系统: centos7 redis: >=2.8 mysql >=5.5.14 git >=2.7.4 架构设计 一台gitl ...

  4. 源码方式安装 lrzsz 库

    我们都知道安装了lrzsz工具的linux系统环境: 在shell里可以非常方便的上传和下载linux里面的文件: 通常的安装方式: yum install lrzsz sudo apt-get in ...

  5. 源码方式安装 lrzsz库

    源码方式安装 lrzsz库:https://www.cnblogs.com/cocoajin/p/11731787.html 我们都知道安装了lrzsz工具的linux系统环境,在shell里可以非常 ...

  6. 2-14 MySQL初步认识,及CentOS6.8环境,源码方式安装MySQL

    什么是数据库: 存放数据的仓库RDBMS-->(Relational Database Management System) 关系型数据库管理系统DBMS--->(Database Man ...

  7. Centos6 系统下源码方式安装Mysql 记录

    在运维工作中经常部署各种运维环境,涉及mysql数据库的安装也是时常需要的.mysql数据库安装可以选择yum在线安装,但是这种安装的mysql一般是系统自带的,版本方面可能跟需求不太匹配. #### ...

  8. 树莓派学习笔记—— 源码方式安装opencv

    0.前言     本文介绍怎样在树莓派中通过编译源码的方式安装opencv,并通过一个简单的样例说明怎样使用opencv.     很多其它内容请參考--[树莓派学习笔记--索引博文] 1.下载若干依 ...

  9. 在Ubuntu Kylin 16.04 LTS 上源码方式安装odoo

    更新Ubuntu服务器软件源 运行以下代码: sudo apt-get update  #更新软件源 sudo apt-get dist-upgrade  #更新软件包,自动查找依赖关系 sudo s ...

随机推荐

  1. 数据分析之Matplotlib

    一.Matplotlib的基础知识     Matplotlib中的基本图表包括的元素     •x轴和y轴 axis     水平和垂直的轴线     •x轴和y轴刻度 tick     刻度标示坐 ...

  2. mysql 汇总

    子查询:    select   a.id,a.hotelname,max(b.day) as day,a.hotelrankid,   c.hotelrank,min(b.basicprice) a ...

  3. Mybatis打印不出SQL日志

    要是mybatis项目打印出日志,只需要在log4j的配置文件中加上下面一段即可 log4j.logger.com.ibatis=debug log4j.logger.com.ibatis.commo ...

  4. java配置xml报cvc-complex-type.2.3: 元素 'beans' 必须不含字符 [子级], 因为该类型的内容类型为“仅元素”

    今天测试es-job的时候,启动的时候报了标题中的错误, 经查,原因有二: 一:从网上粘贴过来字符没有对应上,所以子元素property报错,将文字复制到Notepad++等编辑工具,转为UTF-8编 ...

  5. you must restart adb and eclipse的相关解决办法

    问题是5037端口被占用: C:\>netstat -aon|findstr "5037" 看到了吗,端口被进程号为5037的进程占用,继续执行下面命令(也可以去任务管理器中 ...

  6. topcoder srm 430 div1

    problem1 link 其实就是找到一个数字$t$,使得$x$的二进制为1 的位上$t$也都为1.然后$t$删掉所有那些$x$为1的二进制位就是$k$. problem2 link 设所有合法的边 ...

  7. Restful framework【第八篇】频率组件

    基本使用 频率: -限制每个ip地址一分钟访问10次 -写一个类 from rest_framework.throttling import SimpleRateThrottle class Visi ...

  8. hdfoo站点开发笔记-2

    httpd的目录的 Options: (里面的单词都是用的复数): Options Indexes FollowSymLinks 为了避免有些目录下没有生成deny.htm而显示列表, 可以直接给 / ...

  9. CentOS7.2中systemctl的使用

    CentOS 7.x开始,CentOS开始使用systemd服务来代替daemon,原来管理系统启动和管理系统服务的相关命令全部由systemctl命令来代替. 1.原来的 service 命令与 s ...

  10. awk - group adjacent rows by identical columns

    Liang always brings me interesting quiz questions. Here is one: If i have a table like below: chr1 1 ...