PostgreSQL入门的经典28问28答


导读:不久前,云和恩墨大讲堂分享了一期名为《带你走进PostgreSQL的世界》的直播,本文是线上分享评论区的一些提问和老师的解答,有遗漏的可以在评论区进行补充。


1. 什么样的场景,推荐PG?


OLTP场景,复杂SQL场景,SQL层数据分析(GreenPlum)、GIS需求场景,Oracle迁移场景,对接外部多数据源场景等,昨天第三部分有介绍实际使用过的场景。


2. 讲下Oracle与PG的区别?


从设计理念来说PG与Oracle类似,例如复杂SQL查询,PITR等
从部署角度,Oracle比较难以做到快速部署,PG只有几十M,更容易轻量级自动集成部署。

从功能角度,Oracle大而全,PG原生功能简洁,扩展功能丰富


从SQL标准支持角度,PG符合度更高,例如json及json path
当然PG功能特性的自动化封装集成也是需要我们去完善。


3. PG有没有像Oracle RMAN那样的联机数据热备?能支持任意时间点的恢复吗?


PITR基于时间点、事务、还原点都支持,备份工具有pg_rman支持单机操作、pg_probackup支持单机或远程实例,也支持恢复到db级别。


4. PG也支持类似的RAC共享存储的吗?


需要软件层面的支持。


5. POSTGIS的使用场景及如何使用?


与地址坐标位置相关同时想再数据库层做查询计算,可比如公交行业车辆轨迹分析,智能监控等,我只搭过环境,没实践使用过,可以参考POSTGIS官网,有参考案例。


6. PG里的存储过程强大吗?跟Oracle里差别大吗?


PG原生只支持函数的概念,新版本也支持存储过程以及函数里手动commit/rollback操作,功能跟oracle的存储过程一样很强大,而且支持不同的编程接口,C、Java、Python、Perl等。


7. 有没有在PG里写函数和存储过程实现业务逻辑的。


非常多,本人之前从事的公交行业IC卡收费系统大量复杂的业务逻辑如售卡充值挂失等都是基于PG函数实现。


8. Oracle转PG,存储过程是不是要改写 ?


本身PG与Oracle的设计理念相似,语法也很类似,切换比较平滑,部分Oracle特定语法需要改写。


9.入门书籍有推荐的吗?


《PostgreSQL修炼之道:从小工到专家》
《PostgreSQL服务器编程》
《PostgreSQL实战》


10. PG主要应用在哪些地方?


我接触从事过的行业有公交、银行体系,主要应用于企业自研产品,另外PG历届大会及网上可以查,国内各行各业都有实践应用。


11. PG和MySQL的区别?


MySQL本人没有生产实践应用,平安在分享选择PG而非MySQL替代Oracle案例时介绍,对复杂SQL的支持、过程性语言、非关系型数据结构的支持等因素导致最终选择PG替代Oracle。


12. PG和MySQL,Oracle的区别,各自的优缺点是什么?


PostgreSQL是一个数据库编程平台,接口开放,类似乐高积木,相关的配套工具不太完善,需要用户自己集成。
Oracle是成熟完善的商业产品,功能大而全,不够轻量级。
MySQL本人没什么实践。


13. PG有集群环境吗?


原生有集成备份、主备切换接口,WAL日志也开放接口,有基于pgpool做集群,实现连接池、负载均衡及高可用,也有基于keepalived+VIP方案、repmgr方案、patroni方案等,需要自己集成搭建。


14. PG12试用过吗?与PG10在使用上有没有明显的性能提升?


目前实践都是基于PG12,与10相比使用pgbench测试性能没有太大提升,但并行以及分区表性能有提升,12恢复及备库触发方式等有调整,配置使用上有一些变化。


15. 生产环境,目前建议用pg哪个版本。


求稳建议10,且各个平台安装包EDB都提供小版本更新包,11以上不提供支持。


16. 快速入门,需要学多久时间


有基础的,我觉得2天能实践入门,能干活,深入的话需要持续学习。


17. 有Oracle迁移PG经验么?


有做过公交行业的Oracle迁移到PG,现在也在做这方面的工作。


18. 从入门到精通要多久?


一般来说入门容易,精通难。


19. 为什么现在很多企业选择Oracle转PG呀?


可能有节约成本的因素,自研可控因素,就如IT公司无论大小都有软件部门。


20. PG数据库,这个可以用于大型业务系统不?


本人参与实践落地的公交项目(准金融业务系统),从13年上线运行,15年底切换PG新版本,现在稳定运行,国内很多同行也有介绍不同行业不同的大型业务系统均有实践。


21. PG目前国内的在使用客户多么?


超过100+,包括阿里、腾讯等。


22. 讲一下PG优化吧?


一是操作系统级别的参数调优,二是postgresql.conf里的参数调优,三是应用调优,查询索引优化等,后面有机会整理分享。


23. PG读取空间数据,性能如何提高?


PG里有适合GIS空间类型的索引,能提高查询性能。


24. PG高可用当中,备库的WAL文件什么时候会被清理?遇到过备库WAL分区被撑满的情况?


可能是主库的WAL会被撑满吧,如果主库配置了复制槽,备库失联会导致主库被撑满的情况,即使你限制设置了WAL空间的大小。


25. 感觉目前PG的市场不大,用的人少?


如果仔细了解下,现在PG市场趋势一直在增长。


26. PG现在主流版本是那些?推荐学什么版本?


生产系统使用主流版本9和10,推荐10做生产,学习建议学12及新版本


27. pgpool怎么样?稳定性如何?


Pgpool-II周围有不少人使用,稳定性可以,还有连接池、负载均衡等功能。


28. PG做数据仓库怎么样?


可以基于fdw方案做。


墨天轮原文链接:https://www.modb.pro/db/21903


28个问答还不满足?想了解有关PG的安全体系,记得今晚8点来墨天轮平台看直播。扫描下方二维码即刻报名。(活动链接:https://www.modb.pro/event/119)

PostgreSQL入门的经典28问28答




推荐阅读:144页!分享珍藏已久的数据库技术年刊


分享到:


相關文章: