转载自:https://www.cnblogs.com/LinBug/p/8082790.html

Linux环境安装PostgreSQL-10.1

 

环境及资源

    我下载的是postgresql-10.1.tar.gz

  • 参考文档:推荐看英文文档

    1)英文文档:https://www.postgresql.org/docs/10/static/install-short.html

    2)中文文档:http://www.postgres.cn/docs/9.3/install-short.html

    我下载的是社区版Windows 64 bit (zip archive)  (dbeaver-ce-4.3.0-win32.win32.x86_64.zip)

    我下载的是PostgreSQL JDBC 4.2 Driver, 42.1.4

正文

安装路径为/usr/local/pgsql/

1、 解压

gunzip postgresql-10.1.tar.gz

tar xf postgresql-10.1.tar

2、 依次执行命令

* 需要的话,make可以改为gmake


  1. ./configure
  2. make
  3. su
  4. make install
  5. adduser postgres
  6. mkdir /usr/local/pgsql/data
  7. chown postgres /usr/local/pgsql/data
  8. su - postgres
  9. /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
  10. /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1&
  11. /usr/local/pgsql/bin/createdb test
  12. /usr/local/pgsql/bin/psql test

./configure是检查当前环境能否安装PG,以下是我遇到的报错和解决方案

报错1:configure: error: no acceptable C compiler found in $PATH:

解决:yum install gcc

报错2:configure: error: readline library not found

解决:yum install readline-devel

3、 启动或重启server

* 先确保是切换到了/pgsql/bin目录下,并且切换Linux用户postgres


  1. cd /usr/local/pgsql/bin/
  2. su – postgres

启动server:


  1. ./pg_ctl start -D /usr/local/pgsql/data

如果启动成功,显示信息如下

至此,PostgreSQL安装成功。

重启server:


  1. ./pg_ctl restart -D /usr/local/pgsql/data

如果重启成功,显示信息如下

4、 新建数据库和可以登录数据库的用户密码

* 确保是在/usr/local/pgsql/bin/目录下

创建数据库:


  1. ./createdb mydb

创建用户(如用户名为lin,密码为LinBug)有两种方式,

1) CREATE USER或CREATE ROLECREATE USER是CREATE ROLE的一个别名。 唯一的区别是CREATE USER命令缺省是LOGIN, 而CREATE ROLE命令缺省是NOLOGIN

先进入默认的postgres数据库:


  1. ./psql

然后执行:


  1. CREATE USER lin WITH PASSWORD 'LinBug';

创建成功提示如下

2) pg封装的命令方式:


  1. ./createuser -P lin

这会提示你输入新建用户的密码,重复输入密码后,创建成功

5、访问数据库

* 确保在/usr/local/pgsql/bin/目录下,

以默认用户名访问默认数据库(默认的用户名和数据库名都是postgres):


  1. ./psql

于是进入PG的交互终端psql

以名为lin的角色登录名为mydb的数据库:


  1. ./psql mydb -U lin

可以看出,当psql终端的提示符为=#时,表示当前登录的是超级用户,而当提示符为=>时则为普通用户

6、远程访问数据库设置

* 远程访问数据库的认证方式主要有很多方式,我只设置基于TCP/IP连接的trust认证方式

需设置两个配置文件,

1)修改配置文件postgresql.conf,


  1. vim /usr/local/pgsql/data/postgresql.conf

修改监听地址:


  1. #listen_addresses=’localhost’#将上面这行改成如下listen_addresses=’*’

2)修改配置文件/pgsql/data/pg_hba.conf:


  1. vim /usr/local/pgsql/data/pg_hba.conf

添加一条IP授权记录(如192.168.2.23),可以对一个网段授权


  1. # 这是在/pgsql/data/pg_hba.conf文件里加
  2. # IPv4 myhost connections:
  3. host all all 192.168.2.0/24 trust

当然,可以设置所有网段IP可以访问:


  1. # 这是在/pgsql/data/pg_hba.conf文件里加
  2. # IPv4 remote address connections:
  3. host all all 0.0.0.0/0 trust

设置完需要重启数据库才能生效。

7、Windows图形化工具DBeaver客户端访问PG

* 就像很多公司用PL/SQL Developer、Toad来管理Oracle一样,可以用Dbeaver访问PG

* Dbeaver需要指定jdbc驱动,可到https://jdbc.postgresql.org/download.html#current下载

由于前面设置的是基于TCP/IP的trust认证,所以这里也只要设置如下参数就可:

Host:搭建PG的主机ip地址,这里我把自己的主机IP码掉啦

Port:默认为5432,如果没有特意去配置里改动,这个端口一般都是5432

Database:就是我们前面建立的数据库mydb

User:前面创建的用户名lin

Password:用户名对应的密码LinBug

点击“测试链接”,如下表示连接成功。然后再一路点击“next”

至此,我们就可以愉快地在本地管理搭建在远程Linux机器上的PostgreSQL数据库啦!

Linux环境安装PostgreSQL-10.1的更多相关文章

  1. Ubuntu下编译安装postgreSQL 10.5

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

  2. Linux环境安装.NET运行环境

    Linux环境安装.NET运行环境 Linux环境安装.NET运行环境 1. 构建编译环境: (1) sudo apt-get install build-essential (2) sudo apt ...

  3. 在CentOS 7 / RHEL 7安装PostgreSQL 10

    CentOS 到了7.x版本, PostgreSQL也来到了10.x版本. 前些天MySQL都直接跨到了8.0版本. 本文是一篇在CentOS 7.4上安装安装PostgreSQL 10.3 的教程. ...

  4. Linux 环境安装 Node、nginx、docker、vsftpd、gitlab

    Linux 环境安装 centos7 # 更新yum yum update -y 0. 防火墙 firewalld 新入的JD云服务器,发现防火墙默认是关闭的. # 查看防火墙状态 systemctl ...

  5. 在Linux环境安装redis步骤,且设置开机自动启动redis

    最近在linux环境安装了redis学习,目前已经安装成功且设置开机即启动状态,我把步骤流程记录了下来,分享给需要的小伙伴. 1.我在/usr/local/localsoftware/目录下创建了一个 ...

  6. Linux下安装PostgreSQL 转载linux社区

    Linux下安装PostgreSQL [日期:2016-12-25] 来源:Linux社区  作者:xiaojian [字体:大 中 小]   在Linux下安装PostgreSQL有二进制格式安装和 ...

  7. Linux环境安装Nexus

    Linux环境安装Nexus Nexus可以做Maven私服,私服不是Maven的核心概念,它仅仅是一种衍生出来的特殊的Maven仓库.有三种专门的Maven仓库管理软件可以用来帮助大家建立私服: N ...

  8. Linux环境安装xmapp(PHP-Mysql集成环境)

    xmapp是很多初学者使用的PHP环境集成包,用yum在linux安装的php和mysql版本现在都很低,xmapp可以解决这个问题,下面我们直接进入正题,安装一个php集成环境. 我使用的是vm虚拟 ...

  9. 通过xshell在linux上安装solr4.10.3

    通过xshell在linux上安装solr4.10.3 0)下载linux下的安装包 1)通过xftp6上传到linux上 3)在xshell下依次执行 解压命令:tar xvfz solr.tgz( ...

随机推荐

  1. web前端常见面试题汇总

    一.理论知识 1.1.讲讲输入完网址按下回车,到看到网页这个过程中发生了什么 a. 域名解析 b. 发起TCP的3次握手 c. 建立TCP连接后发起http请求 d. 服务器端响应http请求,浏览器 ...

  2. 数据结构与算法之PHP排序算法(冒泡排序)

    一.基本思想 冒泡排序算法是重复地走访过要排序的数列,一次比较相邻的两个元素,如果他们的顺序与排序要求相反,就将它们互换,直到没有再需要交换的数字,则说明排序完成.   二.算法过程 1)比较相邻的两 ...

  3. protobuf example make backup

    # See README.txt. .PHONY: all cpp java python clean all: cpp #java python cpp: add_person_cpp list_p ...

  4. javascript 预解析

    内容来源:http://www.cnblogs.com/TomXu/archive/2011/12/28/2286877.html JavaScript中,你可以在函数的任何位置声明多个var语句,并 ...

  5. ECharts访问后台,JSON格式返回数据实例

    完成图 一.页面代码 <%@ page language="java" contentType="text/html; charset=UTF-8" pa ...

  6. .net Monitor产生SynchronizationLockException异常的原因

    有时在使用Monitor进行并发同步编程时,会产生SynchronizationLockException异常,抛出的异常内容是"Object synchronization method ...

  7. man 命令帮助文件输出乱码

    man 命令重定向的时候有写控制字符再直接显示的时候没有问题, 但是重定向到文件中的时候,被解释错误,显示为 ^H 或者乱码 解决方法: man ps | col -b >a.txt 可以消除所 ...

  8. [Java] [Lock] [Synchronized VS ReentrantLock]

    Overview java编写多线程程序时,为了保证线程安全,需要对数据进行同步,经常用到的两种同步方式就是synchronized和重入锁ReentrantLock. 相似点 都是加锁方式 都是阻塞 ...

  9. [Java复习] 复习知识点

    将线程转换为守护线程可以通过调用Thread对象的setDaemon(true)方法来实现. String 被设计成不可变(immutable)类, 所以它的所有对象都是不可变对象. 要被序列化的实例 ...

  10. javascript 统计字符串中每个字符出现的次数

    var str = "abdcadfasfdbadfafdasdfasyweroweurowqrewqrwqrebwqrewqrejwq;;"; // console.log(nu ...