依赖工具库

注意:

默认用户名是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的命令,不同的操作系统,命令是不一样的,要小心

安装

1.下载postgresql

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

2.解压文件:

  在zmy目录下执行:tar -zxvf postgresql-11.0.tar

3.进入解压目录并配置参数

进入解压目录:cd postgresql-11.0

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

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

注:

--prefix 指定安装目录

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

4.编译并安装

make & make install

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

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

sudo useradd -d /home/postgres -m postgres  #创建用户并为用户创建主目录,-m:自动建立用户的登入目录。

passwd postgres  #为用户postgre设置密码

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

6.创建数据库库文件存储目录并给postgresql用户赋予权限:

进入数据库安装目录: cd /opt/postgresql-11.0

创建data目录: sudo mkdir data

给postgresql用户赋予权限:sudo chown postgres.postgres data

7.切换用户:

su postgres

8.添加环境变量:

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

echo $PGDATA
echo $PATH  
若环境变量出错,可执行
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

9初始化数据库目录:

初始化数据: initdb

10.配置监听地址和端口:

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

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

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

 
11、允许远程主机连接:
 vi data/pg_hba.conf
添加加如下配置
host all all 0.0.0.0/0    trust

12.启动数据库

pg_ctl -l log/server.log start

#关闭数据库  pg_ctl   stop   #重启数据库  pg_ctl restart

注:

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

启动数据库时遇到的错误

原因:修改pg_hba.conf出错

 

13.创建并连接数据库

createdb -h localhost stu
psql -h localhost stu

注:

  1. stu为数据库名,可以自己指定
  2. 连接数据库时,必须指定数据库名
  3. 创建数据库时遇到错误:“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中没有设置好本机访问
  4. 连接数据库时遇到“psql: FATAL: role "postgresql" does not exist”错误
    1. 解决方案:使用 “psql -U postgres [数据库名]” 登录
  5. 连接数据库时遇到“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

 

Ubuntu下postgresql安装及常见错误处理的更多相关文章

  1. ubuntu下postgreSQL安装配置

    一.安装并配置,并设置远程登陆的用户名和密码 1.安装postgreSQL sudo apt-get update sudo apt-get install postgresql-9.4 在Ubunt ...

  2. Ubuntu下postgresql安装

    第一步:在Ubuntu下安装Postgresql         1.使用 apt-get install 安装          zhang@ubuntu:~/protgresql#sudo apt ...

  3. ubuntu下mysql安装(server、client、dev),开启、停止和重启,及常见错误

    转自:ubuntu下mysql安装(server.client.dev),开启.停止和重启,及常见错误 1. 在ubuntu下安装server和client很简单: (1)安装server apt-g ...

  4. ubuntu 下编译安装 mysql php nginx 及常见错误 (持续添加)

    mysql mysql 可以使用mysql 官方提供的apt源进行安装 参见这里 php 安装前先安装一些常见库 sudo apt-get install libpng16-16 libpng16-d ...

  5. Ubuntu下编译安装postgreSQL 10.5

    Ubuntu下编译安装postgreSQL 10.5 ubuntu 16.04 LTS系统postgreSQL 10.5 安装包准备 1.从PostgreSQL官网下载PostgreSQL的安装包 安 ...

  6. ubuntu下git安装及使用

    ubuntu下git安装及使用   其实,好几个月前,就已经安装好了,可是一直搁置在那儿,所以密码等一些其它细节都忘的差不多了,所以今天就重新部署了一下,并开始积极使用......... 1,git ...

  7. windows下postgreSQL安装与启动

    转:https://www.yiibai.com/postgresql/install-postgresql.html https://blog.csdn.net/irainreally/articl ...

  8. PHP编译安装时常见错误解决办法,php编译常见错误

    PHP编译安装时常见错误解决办法,php编译常见错误 1.configure: error: xslt-config not found. Please reinstall the libxslt & ...

  9. Elasticsearch学习之ElasticSearch 5.0.0 安装部署常见错误或问题

    ElasticSearch 5.0.0 安装部署常见错误或问题 问题一: [--06T16::,][WARN ][o.e.b.JNANatives ] unable to install syscal ...

随机推荐

  1. Always an integer UVALive - 4119

    题目很简单,就是求表达式(P/D)的结果是不是整数.其中P是一个整系数的多项式,D是一个正整数. 把1-k(最高次)+1都试一次就好了.结论可以总结归纳得到.(k取 0, 1, 2 .... 的情况推 ...

  2. Prometheus监控学习笔记之全面学习Prometheus

    0x00 概述 Prometheus是继Kubernetes后第2个正式加入CNCF基金会的项目,容器和云原生领域事实的监控标准解决方案.在这次分享将从Prometheus的基础说起,学习和了解Pro ...

  3. 关于A left join B,A是否一定是主表?

    一般情况,我们作左连接 select * from A left join B  on A.id=B.a_id;一定认为A就是主表,其实还有另外的情况,我们若将sql改写成 select * from ...

  4. [c/c++] programming之路(4)、常量和变量

    一.打开多个程序(温习) #include<stdio.h> #include<stdlib.h> void main(){ ; ]; scanf("%d" ...

  5. 基础_模型迁移_CBIR_augmentation

    在之前我们做过这样的研究:5图分类CBIR问题 各不相同的 5类的图形,每类100张 import numpy as npfrom keras.datasets import mnistimport  ...

  6. 【python35.1--EasyGui界面】

    一.什么是EasyGUI EasyGUI是python中一个非常简单的GUI编程模块,不同于其他的GUI生成器,它不是事件驱动的,相反,所有的GUI交互都是通过简地函数调用就可以实现(意思是:函数调用 ...

  7. Python3基础 list pop 取出列表的最后一个元素

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  8. CodeForces 867B Save the problem

    B. Save the problem! http://codeforces.com/contest/867/problem/B time limit per test 2 seconds memor ...

  9. (转)RabbitMQ学习

    (二期)24.消息中间件RabbitMq [课程24]RabbitM...概念.xmind60.2KB [课程24]五种队列模式.xmind0.8MB [课程24]消息确...rm).xmind84. ...

  10. R class of subset of matrix and data.frame

    a = matrix(     c(2, 4, 3, 1, 5, 7), # the data elements     nrow=2,              # number of rows   ...