全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 数据分析与数据挖掘
893 1
2024-09-05
一、什么是PostgreSQL
PostgreSQL是一个功能强大的开源对象关系型数据库系统,使用和扩展了SQL语言,并结合了许多安全存储和扩展最复杂数据工作负载的功能。

PostgreSQL的起源可以追溯到1986年,作为加州大学伯克利分校POSTGRES项目的一部分,并且在核心平台上进行了30多年的积极开发。

PostgreSQL凭借其经过验证的架构,可靠性,数据完整性,强大的功能集,可扩展性以及软件背后的开源社区的奉献精神赢得了良好的声誉,以始终如一地提供高性能和创新的解决方案。

二、PostgreSQL的工具大体上可以分为以下几类:
备份恢复工具
监控工具
逻辑和基于触发器的复制工具
多主复制工具
高可用和故障转移工具
连接池工具
表分区工具
迁移工具

备份恢复工具
Barman
Barman (Backup and Recovery Manager-备份恢复管理器) 是一个用Python语言实现的PostgreSQL灾难恢复管理工具,它由第二象限公司(2ndQuadrant)开源并维护。它允许我们在关键业务环境中执行远程备份,为数据库管理员在恢复阶段提供有效的数据保证。Barman最优秀的功能包括备份元数据、增量备份、保留策略、远程回复、WAL文件归档压缩和备份。

EDB BART
EDB BART(Backup and Recovery Tool -备份恢复工具)是企业级PostgreSQL数据管理策略的关键组件。BART为大规模部署的PostgreSQL服务提供保留策略和基于时间点恢复的实现。BART 2.0版本提供块级别的增量备份。

PgBackRest
pgBackRest工具的主要目的是做一款简单可靠的备份恢复工具,以能够无缝的接入到大规模数据库和工作负载中。pgBackRest放弃了其他传统备份工具依赖tar和rsync的套路,它的备份功能都是从软件内部实现的,并采用客户端协议与远程服务器交互。移除了对tar和rsync的依赖,使它能够更好的应对针对特定数据库的备份挑战。客户端远程协议更加灵活,协议可以按照要求限制连接类型以保证备份过程更安全。

监控工具
PoWA
PoWA(PostgreSQL Workload Analyzer)是PostgreSQL的工作负载分析工具,它收集性能数据并提供实时的图标和图片展示,以帮助我们监控和调优PostgreSQL服务器。它和Oracle AWR或者SQL Server MDW很像。

PgCluu
pgCluu是一个PostgreSQL的性能监控和审计工具。它以视图的形式展示您从PostgreSQL数据库集群收集的所有统计信息。它能展示一份完成的数据库集群信息和系统使用率信息。

Pgwatch2
Pgwatch2是监控PostgreSQL数据库工具中最易用的一个。它基于Grafana并为PostgreSQL数据库提供开箱即用的监控功能。因为它已经集成到了容器里,所以我们不必担心各种依赖和复杂的安装步骤,几分钟即可将监控搭建完毕,所有的东西都已经提前配置好。我们只需要将数据库连接配置到监控中即可运行正常监控操作。

三、PostgreSQL特点
PostgreSQL是一种功能强大、稳定可靠的开源关系型数据库管理系统,具有许多突出的特点,使其在企业级应用和开发者社区中备受青睐。以下是对PostgreSQL特点的介绍:
1. 开源性:
开源许可:PostgreSQL采用BSD许可证或类似的开源许可证发布,允许用户自由获取、使用、修改和分发源代码,无需支付许可费用。
2. 关系型数据库:
标准SQL支持:PostgreSQL遵循ANSI SQL标准,并且提供了丰富的SQL功能,使得开发者可以使用熟悉的SQL语言进行数据库操作。
3. ACID事务支持:
事务控制:PostgreSQL支持ACID(原子性、一致性、隔离性、持久性)事务,保证数据的完整性和一致性,有效防止数据损坏或丢失。
4. 多版本并发控制(MVCC):
并发性能:PostgreSQL采用MVCC机制实现了高并发性能,允许并发读写操作而不会导致数据冲突,提高了数据库的并发处理能力。
5. 数据类型丰富:
扩展数据类型:除了标准的数据类型外,PostgreSQL还支持用户自定义的数据类型、数组、枚举、范围类型等,满足了更广泛的数据存储需求。
6. JSON支持:
半结构化数据存储:PostgreSQL支持存储和查询JSON格式的数据,使其适用于处理半结构化数据,如日志、配置文件等。
7. 复杂查询支持:
高级查询功能:PostgreSQL支持复杂的查询、子查询、联合查询、窗口函数等高级查询功能,适用于各种复杂的数据分析和处理场景。


四、MySQL和PostgreSQL关键性差异
二者主要区别在于PostgreSQL提供自定义对象定义和表继承。这极大地扩展了标准关系数据库模型并为非常复杂的工作负载提供了支持。
其他一些差异包括:
·与仅支持JSON的MySQL相比,PostgreSQL支持更现代的数据类型(JSON、XML 等)
·PostgreSQL支持物化视图 ·PostgreSQL使用类似于BSD/MIT的开源许可证,而 MySQL使用GPL许可证

五、熟悉psql命令行工具
which psql
psql --help
psql -h localhost -p 5432 -d postgres -U postgres
\c -查看哪个用户连接哪个数据库
\d –查看表
\d <tablename> -查看表结构
\i ext.sql -执行一个文件,相当于Oracle中的@
\h -查看所有命令
\h create table -查看create table的帮助文档
select version(); -查看版本
\l -查看所有数据库信息
\l+ -查看数据库信息及大小信息
select pg_postmaster_start_time();
\du -查看用户信息
\dt+ -查看表大小
\di+ -查看索引信息
\dv -查看视图
\df -查看函数

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2024-9-19 15:42:06
参考资料地址:https://pan.baidu.com/s/108FDlCngC1gsDJMt0dI4og 提取码: nxcn
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群