Linux安装Postgres,你学废了吗?

数据库系列

1、Linux安装Postgres,你学费了吗?

前言

1、PostgreSQL特点

很早之前就听过 PG【PostgreSQL】 数据库,它性能很强,可以和 Oracle 相提并论,国内也能听到说要“去O化”,什么意思呢?
Oracle在国内用户还是最多的,目前来说国内数据库使用量最多的是 MySQL,第二个就是 Oracle 了,而 MySQL 说白了也是被 Oracle 控制了,后面能不能顺利使用还是未知数。
哪凭啥说 PostgreSQL 是开源界的 Oracle 呢,也是 去O首选呢?

  • PG数据库 是完全开源免费的,这就很香啊!在灵活的 BSD 许可证下发行,可以拿来任意使用、修改和二次开发。【这是很重要的
  • PG 还遵循了SQL标准,有丰富的数据类型,包括几何、时间戳、数组等;而且还提供了对 JSON类型的原生支持;内置了全文搜索功能,在大量文本数据中进行搜索变得简单而高效。
  • PG 有足够的安全性可靠性稳定性,包括SSL支持、角色和权限等,也支持多种索引方法,包括熟悉的 B树、哈希等。
  • PG 对于夸平台的支持;允许使用 PL/PGsql来编写存储过程和函数;支持表分区,有助于管理和优化大型表的性能。

2、PostgreSQL和MySQL对比

PG 优于 MySQL:

  • 在SQL的标准实现上比 MySQL完善,功能实现严谨;
  • 对表连接比较完整,优化器功能完善,支持多种索引类型,对复杂的查询能力较强;
  • 主备属于物理复制,相对于MySQL的 binlog 逻辑复制,更加可靠,性能更高,影响更小;
  • 特别的一点,PostgreSQL 支持 JSON 和 其他 NoSQL 功能,特别是 10 版本 JSONB 更加功能更加强大;
  • PostgreSQL完全免费,而且是BSD协议,也可以二次开发用于商业也没事;

MySQL优于 PG:

  • MySQL 引擎 innerDB 基于MVCC机制,而 PG 是新老数据一起存放并基于 XID 的 MVCC 机制,占优势;
  • MySQL 采用索引组织表,非常适合基于主键匹配的增删改查操作,但是对于表设计有约束;
  • MySQL优化器简单,表、运算符、数据类型的实现都很精简,非常适合简单的查询操作;
  • MySQL 国内比较流行,但是我感觉这不是长久的事情;

一、PG数据库下载

1.1 版本选择

Linux 下载镜像地址:https://www.postgresql.org/download/
选择要安装的系统,我安装 Linux (CentOS)的,如图:
选择系统
再选择 CentOS 的版本,如图:
选择系统版本
可以发现,官网以及给出了安装使用的命令了,如下:

# Install the repository RPM:
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# Disable the built-in PostgreSQL module:
sudo dnf -qy module disable postgresql

# Install PostgreSQL:
sudo dnf install -y postgresql16-server

# Optionally initialize the database and enable automatic start:
sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
sudo systemctl enable postgresql-16
sudo systemctl start postgresql-16

1.2 版本需注意

注意:选择版本要谨慎!!!

对于系统版本的选择,我之前选择了 CentOS 7,发现安装的时候总会有如错误提示:
错误:为仓库 ‘pgdg-common’ 下载元数据失败 : repomd.xml GPG signature verification error: Bad GPG signature 或者提示 Not Found 等错误,及时清理 yum 缓存等也无济于事,况且CentOS 7 目前已经进入维护阶段,不再提供新功能,只提供安全更新和维护支持

二、PG数据库安装及配置

官网已经提供了标准的安装命令,我们就按照标准命令进行安装。

2.1 Install the repository RPM【安装库】

运行命令:

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

我用 Rocky 版本安装成功了,如图:
安装成功

2.2 Disable the built-in PostgreSQL module【禁用内置版本】

那为什么要做这一步呢?

是因为可能一些系统自带了比较旧版本的 PostgreSQL,就会导致安装新版本的 PostgreSQL 时发生冲突;这样可以避免潜在的冲突和问题,确保能够顺利安装最新版本的 PostgreSQL。

sudo dnf -qy module disable postgresql

警用成功

2.3 Install PostgreSQL【安装】

dnf install -y postgresql16-server

安装中...

如果看到如下提示信息,说明安装成功了。

安装成功

2.4 Initialize the database【初始化库】

sudo /usr/pgsql-16/bin/postgresql-16-setup initdb

在这里插入图片描述

2.5 Enable automatic start【开启开机启动】

sudo systemctl enable postgresql-16
sudo systemctl start postgresql-16

在这里插入图片描述

2.6 修改账号密码

PostgreSQL 安装成功后,会默认创建一个名为 postgres 的 Linux 系统用户;在初始化数据库操作【2.4 小节】后,会有名为 postgres 的数据库,来存储数据库基本信息【eg:用户信息等】,数据库中会初始化一个超级用户,名曰 postgres , 为了方便管理,进行密码修改。

ALTER USER postgres WITH PASSWORD 'postgres';

修改密码

2.7 配置IP和远程访问

修改监听配置,命令如下:
#默认listen_addresses配置是注释掉的,所以可以直接在配置文件开头加入该行:

listen_addresses=‘*’

vim /var/lib/pgsql/16/data/postgresql.conf

允许所有 IP 访问,配置如下:

host all all 0.0.0.0/0 scram-sha-256

vim /var/lib/pgsql/16/data/pg_hba.conf

远程访问

三、连接测试【成功】

安装启动成功之后,用 DG工具【DataGrip】来连接试试!
测试成功

四、小结

PostgreSQL 被称为开源【BSD许可证】界的 Oracle,是去 O 首选,处理开篇提到的各种好处,开放免费的,还有就是 PostgreSQL 的社区比较完善,是一个纯社区,支持 PostgreSQL 的大部分是 最终用户,还有服务提供商、数据厂商和云厂商等,所以没有哪家公司可以完全独吞 PostgreSQL。
而且 PostgreSQL 有组织有纪律,有完善的组织结构等,所以 PostgreSQL 还是相当值得去学习的。
PostgreSQL官网:https://www.postgresql.org/
PostgreSQL中文社区:http://www.postgres.cn/v2/home
全球数据库排行:https://db-engines.com/en/
国产数据库排行:https://www.modb.pro/dbRank


点击【YPhen聊码】同步更新,欢迎━(`∀´)ノ亻!来聊!!!

  • 15
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值