CentOS7下安装并简单设置PostgreSQL笔记

centos7 安装最新版postgresql10 在mysql被收购之后,大家发现了另一款开源的数据库,postgresql,虽然centos自带版本9.2也可以用,但是最近的几次升级支持了更多更新的内容,比如,PostgreSQL有一个MySQL无法比拟的优势,那就是PostGIS,PostGIS可以完美支持空间数据存储和空间分析;从PostgreSQL9.3起就内置了JSON数据类型,而9.4又开始支持JSONB,这标志着PostgreSQL... 阅读详情

为什么是PostgreSQL?

在.NET Core诞生之前,微软平台上最常见的开发组件便是.NET Framework + SQL Server了,但是现在.NET Core终于让跨平台部署成为了现实,这一模式还会常见吗?个人认为这一黄金搭档很可能会日渐势微了,因为未来很多的.NET应用将部署在Linux上,为了使用SQL Server,人们又部署一个Windows环境吗?想想都觉得不大可能,那么为Linux上的.NET Core选择一款合适的数据库就变得非常重要。其实也不难选,因为就两个选项,一个是MySQL(The world’s most popular open-source database),另一个是PostgreSQL(The world's most advanced open source database),从目前我的认知而言,我选择了PostgreSQL。

在51job上全文搜索MySQL,有1568页内容,而全文搜索PostgreSQL则只有44页内容(2016年9月16日数据),这说明使用MySQL的企业和从业人员数据远超PostgreSQL数据,那为什么我还要选择PostgreSQL呢?这要从三个方面谈起,一是我曾学习并使用过MySQL,感觉MySQL上手容易,精通困难,一般程序员没有经过培训驾驭不了MySQL,当时有个项目,开发阶段貌似和SQL Server区别不大,但是系统部署到生产环境之后很快性能问题就会暴露出来了,为此我不得不赶鸭子上架,边学边用,重构了整个数据访问层,(有同学可能会问了,PostgreSQL可能比MySQL还要难上手,额,我最担心的是项目组中有人SQL脚本技术不过关,MySQL对于脚本的优化做的又不咋滴...);第二是我目前对GIS应用系统比较感兴趣,而PostgreSQL有一个MySQL无法比拟的优势,那就是PostGIS,PostGIS可以完美支持空间数据存储和空间分析;三是从PostgreSQL9.3起就内置了JSON数据类型,而9.4又开始支持JSONB,这标志着PostgreSQL实际上已经是一个关系型数据库和NoSQL数据库的结合体了,而且有消息表明,PostgreSQL的NoSQL性能有益到甚至超过了MongoDB!,这对于GIS大数据应用是多么好的一个消息啊。我还有什么理由拒绝PostgreSQL呢?

 

~~~~~~~~~~~~~~~~我是分割线,以上都是废话~~~~~~~~~~~~~~~~

安装环境:CentOS7.2,与此处环境相同

在安装之前,先看看官方的安装说明总是一个好习惯

CentOS7.2中自带的PostgreSQL是9.2版本的,里面没有NoSQL特性,因此我们使用rpm包安装方式,PostgreSQL的repository包地址列表在这里。

1. 首先安装PostgreSQL的rpm

sudo yum install http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/pgdg-redhat95-9.5-2.noarch.rpm -y

2. 然后再安装PostgreSQL服务器和第三方扩展包

sudo yum install postgresql95-server postgresql95-contrib -y

3. 初始化数据库(请看下面更新部分)

sudo /usr/pgsql-9.5/bin/postgresql95-setup initdb

---------------------------我是分割线,2016.10.26更新开始---------------------------

3. 默认情况下,Postgresql安装目录是/usr/pgsql-9.5,而Postgresql的数据目录是/var/lib/pgsql/版本号/data目录,如果你从一开始就规划了/var很大磁盘空间,就没有问题,但是一旦你的/var目录空间并不大,那么就要考虑在安装Postgresql时指定安装目录了,在本例中,我们假定/home的空间很大。

首先在/home下创建一个Postgresql的数据目录

sudo mkdir /home/postgresql_data

然后为这个目录指定所有者同时分配权限

sudo chown postgres:postgres /home/postgresql_data

sudo chmod 750 /home/postgresql_data

然后设置环境变量

export PATH=/usr/pgsql-9.5/bin:$PATH

export LD_LIBRARY_PATH=/usr/pgsql-9.5/lib

export PGDATA=/home/postgresql_data

然后使用命令initdb生成数据库簇,在此之此,请切换至postgres用户

initdb

最后尝试启动Postgresql服务

pg_ctl start -D $PGDATA

使用 ps -ef | grep postgres 验证,如果有一堆postgres相关进程,那就安装成功了。

如果就到此结束了,貌似第4步就没法做了,因为使用 systemctl start postgresql-9.5 将不会成功的,为啥呢?请打开 sudo vi /usr/lib/systemd/system/postgresql-9.5.service ,因为在#Location of database direcotry配置节里面没有指定正确的PGDATA。所以我们需要将下面的PGDATA设置成正确值

#Location of database directory
Environment=PGDATA=/home/postgresql_data

---------------------------我是分割线,2016.10.26更新结束---------------------------

4. 配置数据库服务开机启动并立即启动数据库服务

sudo systemctl enable postgresql-9.5.service

sudo service postgresql-9.5 start

5. 检查数据库服务状态,有绿色,没红色说明启动OK了

service postgresql-9.5 status

6. 修改postgres用户密码,切换到postgres用户

sudo passwd postgres

su postgres

7. 然后使用psql工具登录数据库,列出当前的数据库,命令分别是 psql 和 \l 

在CentOS上,默认的PostgreSQL数据目录是/var/lib/pgsql/版本号/data

PostgreSQL的配置文件就在这个目录下/var/lib/pgsql/版本号/data/postgresql.conf,还有一个配置文件也需要稍加关注,那就是访问控制配置文件/var/lib/pgsql/版本号/data/pg_hba.conf

8. 下面需要先对服务配置文件postgresql.conf进行一些设置:

将 #listen_addresses = 'localhost' 前的#号去掉,然后将后面的localhost改为*,然后将 #port = 5432 前的#去掉,最后再将 #password_encryption = on 前面的#号去掉,如下图所示,使用wq命令保存退出。

(友情提示:postgresql.conf中可以修改的参数很多,上图中第2个红框可以修改侦听端口,另外此文件内还可以修改缓存大小等多种参数)

9. 再对pg_hba.conf内容进行配置,将上面红框内的ident改为md5,然后再在最下面加入 host all all 0.0.0.0/0 md5 ,如下图所示:

10. 重启postgresql-9.5服务,使配置文件重效

service postgresql-9.5 restart

11. 接下来我们创建一个数据库

psql
CREATE DATABASE testdb;

如下图所示,我们就创建了一个名为testdb的数据库,

12.然后再创建一名用户

CREATE USER think8848 CREATEDB LOGIN PASSWORD '111111'

如下图所示,这样我们就创建了一个名为think8848的用户,后面的 CREATEDB LOGIN PASSWORD '111111' 意思是这个用户可以创建数据库,还可以登录,他的密码是111111

13. 接下来将testdb的所有权限都分配给think8848同学

GRANT ALL ON DATABASE testdb TO think8848

14. 退出postgres用户登录,命令为\q, 对,你没看错,就是一个反斜杠和一个q

15. 开启防火墙5432端口

sudo firewall-cmd --zone=public --add-port=5432/tcp --permanent

sudo firewall-cmd --reload

16. 尝试用think8848登录数据库

psql -U think8848 -h 127.0.0.1 -p 5432 -d testdb -W

最后,再说两个psql很常用的命令,一个\c,切换数据库,如: \c postgres; ,它的作用和SQL Server的 use postgres; 一样;另一个是\d,此命令是列出当前库下所有的表。

 

17. 我打算使用PostgreSQL做数据库服务器,但是从没打算使用psql当管理工具,所以还是要找个GUI的管理工具才行啊,也不知道哪个好,先随手抓过来一个用用看,pgAdmin4,下载地址在这里 ,

先建个Server看看都有什么

再给起个响亮点的名称

然后再配置服务器IP等信息

点了Save后并没有什么反应,在Servers上点击右键Refresh,还是没有什么效果,难道这货没有用?好吧,再试试IT人员的杀手级技巧吧,关了程序重新打开,这时...

看起来还不错,可以用图形化界面管理数据库,然后又是免费的,我们不能要求太多,对吧?

在centOS7上安装postgresql Postgresql安装与配置 具体操作步骤 第一步,下载安装Postgresql数据库: 按照以下步骤在centOS系统上安装PostgreSQL。选择PostgreSQL的版本号以及对应系统,下载地址 PostgreSQL: Downloads 选择 centOS系统 使用yum安装postgresql14,首先选择安装的版本,然后按照下列步骤进行操作: 一些问题解决 在使用yum安装软件时可能会遇到提示“没有可用软件包”。 出现该问题的原因是该软件包在. 阅读详情

相关推荐

centos7 离线安装 postgresql

本文描述了在centos7上通过源码编译安装postgre的过程。

dydyswr的博客 1823

CentOS7安装并配置PostgreSQL

步骤摘要yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm yum install postgresql96-server postgresql96-contrib /usr/pgsql-9.6/bin/postgresql

why_not2007的博客 502

在CentOS 7上安装&配置PostgreSQL 12

一、前言 1、本文主要内容 PostgreSQL 12 安装(yum) PostgreSQL 12 基础配置 PostgreSQL 12 远程访问配置 PostgreSQL 基础管理 2、本文环境信息与适用范围 环境信息 软件 版本 CentOS 7.6 Release PostgreSQL 12.x 适用范围 软件 版本 CentOS Cent...

ken的杂谈 3687

Centos系统上安装PostgreSQL和常用PostgreSQL功能

PostgreSQL安装成功之后,会默认创建一个名为postgres的Linux用户,初始化数据库后,会有名为postgres的数据库,来存储数据库的基础信息,例如用户信息等等,相当于MySQL中默认的名为mysql数据库。权限代码:SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、TRIGGER、CREATE、CONNECT、TEMPORARY、EXECUTE、USAGE。为了方便我们使用postgres账号进行管理,我们可以修改该账号的密码。

阿信AI实验室 1067

Centos7安装PostgreSQL 14

Centos7安装postgresql

m0_71406734的博客 2076

Centos7安装PostgreSQL 12.4 + postgis安装

Centos7安装PostgreSQL 12.4 + postgis安装 环境:Centos7.8-Mini + PostgreSQL 12.4 + # 关闭防火墙 systemctl stop firewalld systemctl disable firewalld vim /etc/selinux/config SELINUX=disabled # 立即生效 setenforce 0 # 安装PostgreSQL yum仓库 yum install -y https://downloa...

sunny05296的博客 8523

Postgres 9.2快速入门(Centos 7)

Postgres 9.2快速入门(Centos 7)安装初始化启用服务启动服务查看服务状态登录postgres客户端修改用户密码创建并切换到新数据库创建表退出客户端 安装 配置好yum后,可以直接用下面的命令进行安装。 yum install postgresql-server.x86_64 yum install postgresql-contrib.x86_64 初始化 安装好postgres后,需要初始化一个数据库,才能使用。使用下面的命令初始化一个数据库。 [root@vm1 ~]# postgr

冀辉的博客 2360

Centos7离线安装Postgresql文档

需求 是在centos下离线安装postgresql11.4,要求可以外网连接,需要详细部署步骤 要求访问端口改为9527 客户端可以使用pgadmin来测试连接 目录结构 安装Postgre 复制安装包 请将安装Postgre文件夹放入指定目录下下,并进入指定目录 进入安装Postgre文件夹中 cd 安装Postgre 创建文件夹 sudo mkdir -p /chinamobile...

全儿的博客 4243

centos7安装pg数据库9.2.0

1、安装epel源https://mp.csdn.net/postedit/80693388该博客有写2、安装各种依赖包#yum install -y gcc gdb strace gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib...

iris_csdn的博客 1411

CentOS 7 安装 PostgreSQL 11并连接

#环境 腾讯云 CentOS PostgreSQL 11 #PostgreSQL安装 这里以rpm的方式安装PostgreSQL 11 # 下载rpm包 yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-redhat11-11-2.noarch.rpm -y # 安装 y...

weixin_44563906的博客 2351

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

前言 PostgreSQL是一个强大开源的对象关系类型数据库系统,它能运行于几乎所有主要的操作系统,包括Linux、Unix(AIX、BSD、HP-UX、SGI IRIX、Mac OS、Solaris、Tru64)、Windows OS。对于新的项目我是非常建议使用PostgreSQL。这里就简单的整理下CentOS下的安装过程。 CentOS的源中自带有PostgreSQL,可以通过 yum list | grep postgresql 查看系统自带的版本,我这边看到的是9.2版本,个人还是比较建议安装更新的版本。 安装 1、安装 yum 源(地址从 http://yum.postgre

CentOS7安装部署PostgreSQL

PostgreSQL 是一个基于 POSTGRES 4.2 版 的对象关系数据库管理系统 (ORDBMS), 由加州大学伯克利分校计算机科学系开发

Quantum-Clock 1659

SQLite → PostgreSQL 迁移脚本与踩坑清单

本文提供了SQLite迁移到PostgreSQL的两种可靠路径:首选使用pgloader工具自动转换schema和数据,支持类型映射和并行复制;备选方案通过sqlite3导出CSV再用PostgreSQL的COPY命令导入,适合需要自定义清洗的场景。重点介绍了数据类型映射规则、迁移步骤、校验方法和常见问题,包括自增主键、布尔值、时间类型等关键差异处理。迁移后需进行行数核对、哈希抽样等校验,并给出了性能优化建议。最后强调迁移不仅是数据转移,更需要同步升级数据模型和索引策略,根据业务场景选择合适的数据库方案。

aifs2025的博客 1886

centos7系统下postgresql12离线安装

CentOS7系统下PostgreSQL 12离线安装手册 一、PostgreSQL基本信息 官网:https://www.postgresql.org/ 下载:https://www.postgresql.org/download/ 中文社区:http://www.postgres.cn/index.php/v2/home 中文网:https://postgres.fun/ 二、安装规范 Cd / 找到根目录 创建文件夹 约定目录 PostgreSQL 目录安装...

uvwxyzhao的博客 2835

【张量分解(二)】CP分解

一、CP分解 1.1 定义 CP分解就是将一个张量分解成多个单秩张量的和。例如,给定一个三阶张量X∈RI×J×K\mathcal{X}\in\mathbb{R}^{I\times J\times K}X∈RI×J×K,则CP分解可以写为 X≈∑r=1Rar∘br∘cr\mathcal{X}\approx\sum_{r=1}^{R}\textbf{a}_r\circ\textbf{b}_r\circ...

bqw的博客 2万+

生物信息学投稿避坑指南:如何根据影响因子和审稿速度选择最适合的期刊

本文为生物信息学研究者提供全面的期刊投稿策略,重点解析影响因子、审稿速度等关键指标,帮助选择最适合的期刊。涵盖算法开发类和应用型研究的投稿路径,分析不同出版社特点及开放获取的利弊,并提供投稿全流程优化建议,助力高效发表研究成果。

weixin_42652674的博客 379

CentOS7安装配置简单使用postgresql10

说明: 1, Linux版本:CentOS7 2, postgresql的版本:10(最新是11),主要方便入手,不用最新的 3, pipelineDB是基于postgres的stream数据库。完全兼容pg的东西 注意:下一篇写pipelineDB安装使用 准备工作: $ rpm -qa | grep postgres # 检查Postgr...

gaokcl的博客 4347

秦时明月6.2魔改版_从零到一部署指南_含安卓客户端配置与GM后台直通

本文详细介绍了秦时明月6.2魔改版的从零到一部署指南,包括环境准备、服务端安装、安卓客户端配置以及GM后台直通等关键步骤。特别针对安卓客户端配置和GM工具使用提供了实用技巧,帮助用户快速搭建并优化游戏服务器,确保稳定运行。

weixin_42522964的博客 315

在CentOS 7上安装和使用PostgreSQL的方法

关系数据库管理系统是许多网站和应用程序的关键组成部分。它们提供了一种结构化的方式来存储、组织和访问信息。PostgreSQL,或者简称为 Postgres,是一个关系数据库管理系统,提供了 SQL 查询语言的实现。它是许多小型和大型项目的热门选择,并且具有符合标准和可靠的事务以及无读锁并发等许多高级功能的优势。在本指南中,您将在 CentOS 7 服务器上安装 Postgres,并学习一些基本的使用方法。

rubys007的博客 2987

Qwen-Image-2.1本地图像生成整合包:8G显存一键部署指南

文生图模型是AI视觉创作的核心技术,其本地化部署需兼顾模型能力、硬件适配与工程易用性。Qwen-Image-2.1作为支持文本生成、图像编辑与多图参考的统一架构模型,突破了传统Diffusion模型在消费级显卡上的运行瓶颈。通过AWQ量化、vLLM推理优化与ComfyUI节点重构,实现8G显存稳定运行,显著降低CUDA环境配置复杂度。该方案面向设计师、教师与普通用户,提供开箱即用的本地AI图像工作流,适用于电商主图迭代、教学配图生成与IP角色延展等真实场景,让高质量图像生成真正走出云端,落地桌面。

weixin_29082143的博客 398

从底层结构开始学习FPGA(8)----Block RAM(BRAM,块RAM)

BRAM作为FPGA底层的存储资源,作用很大,比如可以RAM/ROM/FIFO。

孤独的单刀 2万+

CentOS7 离线安装 Postgresql 指南

本文介绍在 CentOS7 离线安装 Postgresql

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 3341

【大模型】AI 辅助编程操作实战使用详解

AI 编程实战使用详解

congge 8461
上一篇: ORACLE数据库误操作执行了DELETE,该如何恢复数据?
下一篇: Centos7安装MySQL
crazyArthas
博客等级 码龄10年 10粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值