对PostgreSQL数据库有一定了解, 或者尝到甜头的朋友大多都会有这样的疑问, 为什么PostgreSQL好用却没有MySQL流行呢?
1 PG没MySQL流行的原因
因为没有使用过MySQL,所以不太好回答.
2 PG的优势有哪些?(请例举您认为的最优优势的5条,降序排列)
1.社区活跃(每天都有commit,每年全球大会,每年全球地方性会议等),运作稳定(主要贡献者来自全球的诸多行业的诸多企业,不会出现一家独控的局面), git版本管理, wiki知识库管理, BSD许可.
2.血统纯正,以及丰富的第三方插件.PostgreSQL的分支只有1个,不会出现分支众多,版本不统一的情况.第三方插件非常多,基本上都来自实际的需求.
postgreSQL插件的使用非常简单,因为是模块化形式的,安装好后,加载到动态链接库即可.(包括性能,功能扩展,融合,管理等方面的插件.)
3.流复制,外部表接口, MPP, shared nothing
PG的流复制是基于块的变更,速度极其之快,局域网内能实现毫秒级的延迟,广域网也不需要担心网络稳定性,因为是续传的.流复制可用于HA,容灾,读写分离等场景.
9.4版本还会引入逻辑流复制,可用于multi master的场景.
PG支持外部表接口,在PG中可以直接读写其他数据源的数据,如Oracle,MySQL.适合混杂场景的使用,或者数据迁移场景的使用.
MPP,PostgreSQL的第三方插件或者第三方商业软件可以实现MPP的功能,例如GreenPlum,PgPOOL-II, pg-xc, citusDB, postgres-xl等,还可以结合HADOOP来使用.
shared nothing, postgresql第三方插件可以方便的实现shared nothing的功能,例如plproxy, pgpool-ii, pg-xc等.
4.数据类型丰富,索引类型丰富,可动态加载的模块,丰富的服务端函数
PG的数据类型非常的丰富,同时支持自定义类型.除了传统的数据类型之外,还支持例如range类型, IP类型, HSTORE类型, JSON类型,
PG的索引访问接口也非常丰富,例如支持btree, hash, gist, gin, spgist等诸多索引访问接口.
可动态加载的模块,用户可自定义一些库,在需要使用时动态加载.同时PG支持自定义钩子应用的场景(_PG_init()).
丰富的服务端函数,例如plpgsql, plpython, plperl, pltcl, pl-R, pljava, plv8, C等.适用各种开发人员使用.
5.兼容性,稳定性,可靠性,性能,后期维护,审计需求等.
PG的兼容性非常好,支持几乎所有的硬件架构和操作系统.
稳定,可靠,性能卓越.
维护简单,诸多功能可以满足审计需求.
3 PG在互联网/传统行业(有事务需求)/或其它行业的未来?
国内PG圈子越来越活跃,包括传统行业,金融行业,运营商,互联网行业,政府都有使用.
由于数据库在业务系统中的重要性,一般曾经未使用PG的公司会从不太重要的新项目着手尝试使用PG,尝到甜头后才会有后续大规模应用的动作.
老的项目,从其他数据库迁移到PG的,肯定是这些已有的数据库无法满足现阶段或未来的需求.例如可能是迫于成本的考虑,又或者项目中依赖PG的一些特性.
相关推荐
xxl-job适配了postgresql数据库,xxl-job版本是2.4.1,修改了官方的源代码。同时支持mysql和postgresql两种数据库,根据配置文件选择数据库,文件里面包含了两种数据库的建库脚本。
书中提供了超过100个简单而又非常有效的食谱式解决方案,旨在帮助读者解决实际的PostgreSQL问题。这些食谱覆盖了PostgreSQL管理的各个方面,包括安装、配置、性能优化、备份与恢复、复制以及故障排除等。通过这些...
- 通过源码,你可以学习如何识别和解决常见的PostgreSQL问题,例如锁争用、内存泄漏和I/O瓶颈。 11. **扩展与插件**: - PostgreSQL允许安装第三方扩展,如GIS模块、全文搜索引擎等。源码可能涵盖如何安装、配置...
该书通过超过100个简单却极其有效的实践案例,帮助读者解决实际工作中遇到的各种PostgreSQL问题。 **PostgreSQL 9** 是PostgreSQL数据库管理系统的一个重要版本,它在数据存储、查询优化以及安全性方面做出了显著...
PostgreSQL中文学习手册 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (数据表 数据表 ) 4 一、表的定义: 一、表的定义: 一、表的定义: . 4 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册...
- **“Solve real-world PostgreSQL problems with over 100 simple, yet incredibly effective recipes”**:通过100多个简单而高效的方法解决实际工作中的PostgreSQL问题。 - **作者信息**: - **Simon Riggs**:...
PostgreSQL(postgresql-14.1.tar.bz2) PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。...
PostgreSQL(postgresql-14.1.tar.gz) PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES...
A Tour of PostgreSQL Internals.pdf Inside the PostgreSQL Query Optimizer.pdf Inside the PostgreSQL Shared Buffer Cache.pdf Internals Of PostgreSQL Wal.pdf PostgreSQL Internals Through Pictures.pdf ...
PostgreSQL(postgresql-13.5.tar.bz2) PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。...
**PostgreSQL 10 安装指南** PostgreSQL 是一款强大的开源关系型数据库管理系统,具有高度的稳定性和可扩展性,被广泛应用于各种规模的企业和项目。本文将详细介绍如何使用提供的 PostgreSQL-10 安装包进行安装,...
本文将详述CodeSmith 8.0.1版本在尝试连接到PostgreSQL数据库时遇到的问题,以及如何通过添加必要的DLL文件和理解连接字符串来解决这个问题。 首先,CodeSmith是一款强大的代码生成器,它允许开发者通过模板语言...
Navicat for PostgreSQL是一套专为PostgreSQL设计的强大数据库管理及开发工具。它可以用于任何版本 7.5 或以上的 PostgreSQL 数据库服务器,并支持大部份 PostgreSQL最新版本的功能,包括触发器、函数、管理用户等。...
PostgreSQL(postgresql-13.5.tar.gz) PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES...
10. 监控与日志分析:监控Postgresql实例的性能状况,分析日志文件中的信息,帮助识别和解决可能存在的问题。 学习和掌握以上知识点,可以帮助技术人员在Postgresql方面从初学者逐步成长为经验丰富的专家。不过,...
需要注意的是,确保JDBC驱动版本与PostgreSQL数据库服务器的版本兼容,以避免可能出现的兼容性问题。同时,为了保证数据安全,应尽量避免在代码中硬编码数据库连接信息,而是通过环境变量或配置文件来传递这些敏感...
8. 升级和迁移:对于已经安装了旧版本PostgreSQL的用户,离线安装包可能还提供了升级指南,说明如何从旧版本平滑升级到新版本,同时处理数据迁移问题。 9. 社区支持:PostgreSQL作为开源项目,拥有庞大的社区和丰富...
### PostGreSQL在Centos 7.9上的安装与部署 #### 一、引言 在开始学习任何数据库之前,最重要的第一步就是安装部署一个可供学习和测试的环境。选择一个在业界广泛使用的操作系统版本,以及一个成熟稳定的数据库...
postgresql-42.5.0.jar是Java上的一个驱动程序,用于连接PostgreSQL数据库并与其进行交互。它可以让Java程序员方便地使用PostgreSQL数据库,并提供了许多功能和工具,使程序员可以编写高效、稳定和高性能的应用程序...
PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性和可靠性而受到全球开发者的广泛赞誉。在标题和描述中提到的“postgresql 12、15离线安装包”指的是为这两个版本提供的安装程序,适用于没有互联网...