依赖工具库

注意:默认用户名是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. Struts2 的 配置

    三.Struts2配置 Struts2的核心配置文件 1.名称和位置是固定的   在src下struts.xml 2.Struts根标签 Package Action Result Action Pa ...

  2. to refactor for refactor

    v1.1 if all algorithm are in one function, it will expand. so each operate type should be separated. ...

  3. prufer编码 cayley定理

    背景(在codeforces 917D 报废后,看题解时听闻了这两个玩意儿.实际上917D与之“木有关西”,也可以认为是利用了prufer的一些思路.) 一棵标号树的Pufer编码规则如下:找到标号最 ...

  4. Python实现京东自动登录

    配置好webdriver,用的是Chrome的 import cv2 import time import numpy as np from selenium import webdriver fro ...

  5. pyqt5界面切换

    #主要的思路就是创建两个frame(如果有两个以上同理)使用setVisible()函数显示或者隐藏frame 参数是bool值import sys from PyQt5.QtWidgets impo ...

  6. ELK学习笔记之Grok patterns正则匹配

    https://github.com/logstash-plugins/logstash-patterns-core/blob/master/patterns/grok-patterns USERNA ...

  7. hdu 1394 Minimum Inversion Number - 树状数组

    The inversion number of a given number sequence a1, a2, ..., an is the number of pairs (ai, aj) that ...

  8. libcurl 设置代理,通过Fiddler可以进行抓包

    转载:https://blog.csdn.net/jaryguo/article/details/53021923 转载:https://www.cnblogs.com/miantest/p/7289 ...

  9. iOS字体大小

    1,iOS 字体大小单位是pt——磅. 英文字体的1磅,相当于1/72 英寸,约等于1/2.8mm. px:相对长度单位.像素(Pixel).(PS字体) pt:绝对长度单位.点(Point).(iO ...

  10. onsaveInstanceState有关问题

    在学习活动回收时,遇到当活动回收时开始在onresume状态的活动转为onpause时,活动的数据可能会丢失(取决于手机内存)只有在这时onsaveInstanceState方法才会有用武之地,这个方 ...