`

PostgreSQL 9.6在Ubuntu 16.04和CentOS 7.5下的安装配置

阅读更多

        我本地自己的window10机器上是利用Vagrant配合VirtualBox所运行的Ubuntu 16.04虚拟机环境,但项目的测试环境是阿里云的CentOS 7.5云主机(ECS),为了方便本地测试,便在两个环境下都分别搭建了PostgreSQL,接下来介绍各环境下的安装步骤。

 

Ubuntu 16.04环境

1、添加Postgresql apt存储库

 

# 创建pgdg.list
sudo vi /etc/apt/sources.list.d/pgdg.list 

# 添加一行如下apt地址
deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main

# 导入存储库签名密钥
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

# 更新软件包列表
sudo apt-get update

  

2、安装PostgreSQL

 

sudo apt-get install postgresql-9.6

  

说明:ubuntu在安装Postgresql核心数据库的时候会顺便安装postgresql-client-9.6(客户端库和客户端二进制文件)和postgresql-contrib-9.6(附加提供的模块)

 

用这种方式安装成功后,系统会自动将Postgresql注册为一个服务,随着ubuntu操作系统自动启动并自动添加一个名为postgres密码随机的操作系统用户,与此同时还会自动生成一个名为postgres的数据库,用户名也是postgres,密码也是随机。

 

3、打开客户端工具(psql)并登录

 

sudo -u postgres psql

  

4、修改postgres数据库的用户名密码

 

注意:postgres=#为PostgreSQL下的命令提示符,每个SQL语句的结尾都要注意最后的英文分号';'
postgres=# ALTER USER postgres WITH PASSWORD '123456';

  

5、退出PostgreSQL psql客户端

 

postgres=# \q

 

6、修改ubuntu操作系统的postgres用户密码(密码要与数据库用户postgres的密码相同)

 

1) 切换到root用户
su - root
2) 删除postgres用户密码(passwd -d 是清空指定用户密码的意思)
sudo passwd -d postgres
3) 设置postgres用户的密码
sudo -u postgres passwd
4) 按照提示输入两次新密码(123456)

  

7、配置远程登录

 

1) 编辑postgresql配置文件
sudo vi /etc/postgresql/9.6/main/postgresql.conf
更改1:修改监听地址,查找listen_addresses,去掉前面的#号,并将'localhost'改为'*'
listen_addresses = '*'
更改2:启用密码验证,将 #password_encryption = on 前面的 # 号去掉
password_encryption = on
2) 编辑pg_hba.conf配置文件
sudo vi /etc/postgresql/9.6/main/pg_hba.conf
更改1:在文档末尾加上以下内容
host 	all 	all 	0.0.0.0/0 	md5
3) 保存并重启postgresql服务
sudo /etc/init.d/postgresql restart
4) 向防火墙中添加一条开放5432端口的规则
sudo iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 5432 -j ACCEPT

  

CentOS 7.5环境

1、查看linux系统版本

 

$cat /proc/version
Linux version 3.10.0-693.2.2.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Tue Sep 12 22:26:13 UTC 2017

$cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

 

2、安装PostgreSQL

 

1) 访问如下地址,选择要安装的postgresql版本,linux系统版等相关信息,接着根据官方提供的yum安装指令安装即可
https://www.postgresql.org/download/linux/redhat/#yum

2) Install the repository RPM:
yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

3) Install the client packages:
yum install postgresql96

4) Optionally install the server packages:
yum install postgresql96-server

5) Optionally initialize the database and enable automatic start:
/usr/pgsql-9.6/bin/postgresql96-setup initdb
systemctl enable postgresql-9.6
systemctl start postgresql-9.6

 

3、打开客户端工具(psql)并登录
sudo -u postgres psql

以上命令等价于
sudo su - postgres # 切换账号,进入bash
psql # 进入数据库管理

 

4、修改postgres数据库的用户名密码
注意:postgres=#为PostgreSQL下的命令提示符,每个SQL语句的结尾都要注意最后的英文分号';'
postgres=# ALTER USER postgres WITH PASSWORD '123456';

 

5、新创建一个用户pguser和数据库test
CREATE USER pguser WITH PASSWORD '123456';		# 创建数据库用户
CREATE DATABASE test OWNER pguser;			# 创建数据库
GRANT ALL PRIVILEGES ON DATABASE test to pguser;  	# 授权给pguser

这个时候如果用刚刚新建的用户pguser登录会报错

$ psql -U pguser -d test 

psql: FATAL:  Peer authentication failed for user "pguser"

 

6、配置本地用户登录
编辑pg_hba.conf配置文件
vi /var/lib/pgsql/9.6/data/pg_hba.conf

将
# "local" is for Unix domain socket connections only
local   all      all           peer

改为
# "local" is for Unix domain socket connections only
local   all      all           md5
类似的其它改为:
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
重启postgresql服务
sudo service postgresql-9.6 restart

重新尝试登录即可
psql -U pguser -d test -h 127.0.0.1

 

 

7、配置远程登录
1) 编辑postgresql配置文件
sudo vi /var/lib/pgsql/9.6/data/postgresql.conf
更改1:修改监听地址,查找listen_addresses,去掉前面的#号,并将'localhost'改为'*'
listen_addresses = '*'
更改2:启用密码验证,将 #password_encryption = on 前面的 # 号去掉
password_encryption = on

2) 编辑pg_hba.conf配置文件
sudo vi /var/lib/pgsql/9.6/data/pg_hba.conf
更改1:在文档末尾加上以下内容
host 	all 	all 	0.0.0.0/0 	md5

3) 保存并重启postgresql服务
sudo service postgresql-9.6 restart

 

以上就是PostgreSQL 9.6在Ubuntu 16.04和CentOS 7.5下的安装配置步骤,下面顺便给出一些命令行客户端操作postgresql数据库常用操作命令

1、连接数据库
$psql -U user_name -d database_name -h serverhost

2、命令常用操作
\h      #查看所有的sql关键字
\?      #命令行操作的帮助
\d      #查看当前schema中所有的表
\q      #退出pg命令行
\d      #schema.table查看表的结构
\x      #横纵显示切换 
\dT+    #显示扩展类型相关属性及描述
\dx     #显示已安装的扩展插件
\l      #列出所有的数据库
\timing #显示执行时间
\c database_name        #切换数据库
set search to schema    #切换schema
explain sql             #解释或分析sql执行过程

 

  • 大小: 15 KB
分享到:
评论

相关推荐

    离线无网ubuntu16.04环境下安装postgresql9.6.8

    在离线且无网络环境的Ubuntu 16.04系统上安装PostgreSQL 9.6.8并允许远程访问,需要遵循一系列步骤。首先,你需要从PostgreSQL官方网站下载适用于Linux的二进制包,例如`postgresql-9.6.8-4-linux-x86-binaries.tar....

    PostgreSQL 9.6 RPM包

    PostgreSQL 9.6 RPM包是一款专为Linux系统设计的数据库管理系统安装包,采用RPM(Red Hat Package Manager)格式,适用于基于RPM的Linux发行版,如CentOS、Fedora、RHEL等。PostgreSQL是一款强大的开源关系型数据库...

    postgres9.6 离线安装部署(centos7.x)

    PostgreSQL 9.6 离线安装部署在 CentOS 7.x 操作系统上是一项关键任务,尤其对于那些没有互联网连接或者网络环境受限的环境。离线安装允许管理员提前下载所有必需的文件,并在本地进行安装,避免了在线安装过程中...

    centos7.5离线安装postgresql14

    centos7.5离线安装postgresql14

    centos7.5离线安装postgresql14和postgis

    centos7.5离线安装postgresql14和postgis

    postgresql9.6库jdbc包

    PostgreSQL 9.6是PostgreSQL数据库管理系统的一个版本,它在2016年发布,提供了许多增强功能和性能改进。JDBC(Java Database Connectivity)是Java编程语言中用于与数据库交互的一种API,允许Java应用程序连接到...

    Mastering PostgreSQL 9.6 高清 pdf

    - 安装与配置PostgreSQL 9.6的方法。 2. **数据库设计与优化**: - 如何设计高效的数据表结构。 - SQL查询语句的编写与优化技巧。 - 使用索引提高查询性能。 3. **高级功能详解**: - 存储过程的创建与调用。...

    postgresql9.6.zip

    在安装这些RPM包时,通常需要按照特定的顺序进行:首先安装`postgresql96-libs`,然后是`postgresql96-server`,接着是`postgresql96`,最后是`postgresql96-contrib`。安装完成后,你需要初始化数据库集群,配置...

    PostgreSQL9.6x64-HaoSQL

    在提供的文件“HaoSQL使用说明.txt”中,用户可以找到关于如何安装、配置和使用HaoSQL的详细指南。这可能包括了如何启动和停止数据库服务,如何创建和管理数据库,以及如何利用HaoSQL特有的功能进行数据操作等。 总...

    postgresql9.6和对应版本的postgis.zip

    文件夹中包含postgresql9,6和postGIS这两个开源软件,下载解压后,先安装postgresql,之后将postGIS安装在同一路径下,因为两个软件都是.exe文件,所以直接运行并且一直点击“下一步”就可以了

    Mastering PostgreSQL 9.6 azw3

    Mastering PostgreSQL 9.6 英文azw3 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    PostgreSQL 9.6 中文手册 带书签 高清

    PostgreSQL 9.6 是 PostgreSQL 数据库管理系统的一个重要版本,它在功能、性能和稳定性上都有显著提升。这个版本的中文手册旨在为中文用户提供了详尽的文档,涵盖了数据库管理、SQL查询、安全性、备份与恢复、并行...

    postgres9.6 rpm包.zip

    总之,"postgres9.6 rpm包.zip"提供了在Linux环境中部署PostgreSQL 9.6的简便途径,通过使用RPM包管理和一系列安装配置步骤,用户可以快速搭建起一个功能强大的数据库服务器。了解并掌握PostgreSQL的安装、配置和...

    CentOS 7下安装PostgreSQL 9.6的教程分享

    总结来说,PostgreSQL 9.6在CentOS 7上的安装涉及添加YUM源、安装服务器和贡献包、初始化数据库、配置远程访问、创建用户和数据库。这是一个基础的安装流程,根据实际需求,你可能还需要配置防火墙、调整参数或者...

    postgresql-9.6.24.tar.gz

    postgresql的linux安装包。PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系...另外,因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL。

    PostgreSQL 9.6 中文版最新文档(三种格式:pdf+chm+tar.gz)

    对于初学者,可以首先通过PDF和CHM了解PostgreSQL的基础概念、安装配置以及基本操作。进阶用户则可以通过HTML源文件深入学习其内部机制和高级特性,并结合实际项目进行实践。无论哪种格式,都有助于开发者和管理员更...

    postgresql14加postgis3.2在centos离线编译安装

    本教程将详细介绍如何在CentOS系统上离线编译安装PostgreSQL 14和PostGIS 3.2,这两个是用于地理空间数据库管理的重要组件。 PostgreSQL是一个强大的开源关系型数据库管理系统,它支持复杂查询、事务处理和多种数据...

    postgresql-9.6.18.tar.gz

    因此,这个压缩包适用于在Linux环境下搭建和运行PostgreSQL数据库系统。 综上所述,"postgresql-9.6.18.tar.gz"提供了一种方便的方式来在Linux环境中部署PostgreSQL 9.6.18,它包含了一系列的性能增强和新特性,...

Global site tag (gtag.js) - Google Analytics