PostgreSQL
Awesome Postgres
¶
> 精选清单 PostgreSQL 软件、库、工具和资源,灵感来自 awesome-mysql
PostgreSQL,通常只是 Postgres,是一个 object-relational database (ORDBMS). PostgreSQL 是 ACID-compliant 和 transactional . (查看更多: wikipedia:PostgreSQL, PostgreSQL.org)
欢迎投稿. 通过添加链接 pull requests 或创建一个 issue 开始讨论. 请看一下 contribution guidelines.
High-Availability¶
- BDR - 双向复制 - PostgreSQL 的多主复制系统
- Patroni - 带有 ZooKeeper 或 etcd 的 PostgreSQL HA 模板.
- Stolon - 基于 Consul 或 etcd 的 PostgreSQL HA,与 Kubernetes 集成.
- pglookout - 复制监控和故障转移守护进程.
- repmgr - 用于管理 PostgreSQL 服务器集群中的复制和故障转移的开源工具套件.
- Slony-I - 具有级联和故障转移功能的“Master to multiple slaves”复制系统.
- PAF - PostgreSQL 自动故障转移:基于 Pacemaker 和 Corosync 的 Postgres 高可用性.
- SkyTools - 复制工具,包括队列系统 PgQ 和比 Slony 更易于管理的复制系统 Londiste.
Backups¶
- Barman - 2ndQuadrant 的 PostgreSQL 备份和恢复管理器.
- OmniPITR - 用于 PostgreSQL 的高级 WAL 文件管理工具.
- pg_probackup – pg_arman 的一个分支,由@PostgresPro 改进,支持增量备份、从副本备份、多线程备份和恢复,以及没有归档命令的匿名备份.
- pgBackRest - 可靠的 PostgreSQL 备份和恢复.
- pg_back - pg_back 是一个简单的备份脚本
- pghoard - 用于云对象存储(AWS S3、Azure、谷歌云、OpenStack Swift)的备份和恢复工具.
- wal-e (已过时)- Heroku 将 PostgreSQL 简单连续归档到 S3、Azure 或 Swift.
- wal-g - 用 Go 重写的 WAL-E 的继任者. 目前支持 AWS (S3)、谷歌云 (GCS)、Azure 以及 OpenStack Swift、MinIO 和文件系统存储的云对象存储服务. 支持块级增量备份,将备份任务卸载到备用服务器,提供并行化和节流选项. 除了 Postgres 之外,WAL-G 还可以用于 MySQL 和 MongoDB 数据库.
- pitrery - pitrery 是一组 Bash 脚本,用于管理 PostgreSQL 的时间点恢复 (PITR) 备份.
GUI¶
- Adminer - 用 PHP 编写的全功能数据库管理工具.
- Beekeeper Studio - 免费和开源的 SQL 客户端,具有现代 UI 和强大的 Postgres 支持. 跨平台.
- Chartbrew - 从 PostgreSQL 数据创建实时仪表板、图表和客户报告. 具有可与 SQL 配合使用的查询工具.
- Count - 基于 Web 的分析平台,带有连接到 PostgreSQL(商业软件)的笔记本界面.
- DataGrip - 具有高级工具集和良好跨平台体验的 IDE(商业软件).
- Datazenit - 基于 Web 的 PostgreSQL GUI(商业软件).
- DataRow - 适用于 Amazon Redshift 的跨平台 SQL 客户端:简单、轻松、可扩展.
- DBeaver - 对 PostgreSQL 提供出色支持的通用数据库管理器.
- dbglass - PostgreSQL 的跨平台桌面客户端,使用 Electron 构建.
- Holistics - 在线跨平台数据库管理工具和 SQL 查询报告 GUI,具有强大的 PostgreSQL 支持(商业软件).
- JackDB - 基于 Web 的 SQL 查询界面(商业软件).
- Metabase - 用于 PostgreSQL 的简单仪表板、图表和查询工具.
- Numeracy - 具有 PostgreSQL(商业软件)图表和仪表板的快速 SQL 编辑器.
- OmniDB - 开源协作环境 对于数据库管理
- pgAdmin - PostgreSQL 管理和管理 GUI.
- pgModeler - pgModeler 是一个开源的 PostgreSQL 数据库建模器.
- pgweb - 用 Go 编写的基于 Web 的 PostgreSQL 数据库浏览器.
- phpPgAdmin - 用于 PostgreSQL 的首要基于 Web 的管理工具.
- Postbird - 适用于 macOS 的 PostgreSQL 客户端.
- PostgresCompare - 跨平台数据库比较和部署工具(商业软件).
- Postico - 适用于 macOS 的现代 PostgreSQL 客户端(商业软件).
- PSequel - 干净简单的界面可以快速执行常见的 PostgreSQL 任务(商业软件).
- SQL Tabs - 用 JS 编写的 PostgreSQL 跨平台桌面客户端.
- SQLPro for Postgres - 用于 macOS(商业软件)的简单、强大的 PostgreSQL 管理器.
- temBoard - 基于 Web 的 PostgreSQL GUI 和监控.
- TablePlus - Native App which let you edit database and structure. High-end security ensured (Commercial Software).
- Valentina Studio - 跨平台数据库管理工具(免费/商业)
- DbGate - 最聪明的(无)SQL 数据库客户端
Distributions¶
- Postgres.app - 在 macOS 上开始使用 PostgreSQL 的最简单方法.
- PostgreSql.Binaries.Lite - PostgreSQL 数据库的最小 Windows 二进制文件集. 也可通过 NuGet 获得.
CLI¶
- atlas - Atlas 是一种使用现代 DevOps 原则管理和迁移数据库模式的工具.
- pgcli - 具有自动完成和语法高亮显示的 Postgres CLI
- pgsh - 像 Git 一样分支你的 PostgreSQL 数据库
- psql - 内置的 PostgreSQL CLI 客户端
- psql2csv - 在 psql 中运行查询并将结果输出为 CSV
- nancy - Nancy CLI 是一种统一的方式来管理云端或本地的自动化数据库实验
- schemaspy - SchemaSpy 是一个 JAVA JDBC 兼容工具,用于将数据库生成为 HTML 文档,包括实体关系图
Server¶
- Postgres-XL - 可扩展的基于 PostgreSQL 的开源数据库集群.
- AgensGraph - 基于 PostgreSQL 的强大图形数据库.
- Greenplum Database - 用于大数据量的 PostgreSQL 开源分支.
- YugabyteDB - 在分布式存储和事务之上使用 PostgreSQL 分支的开源分布式 SQL
Monitoring¶
- check_pgactivity - check_pgactivity 旨在从 Nagios 监控 PostgreSQL 集群. 它提供了许多选项来衡量和监控有用的性能指标.
- Check_postgres - Nagios check_postgres 插件,用于检查 PostgreSQL 数据库的状态.
- Instrumental - 实时性能监控,包括 pre-made graphs 为了便于设置(商业软件)
- libzbxpgsql - Zabbix 的综合 PostgreSQL 监控模块.
- PMM - Percona 监控和管理 (PMM) 是一个免费的开源平台,用于监控和管理 PostgreSQL、MySQL 和 MongoDB.
- Pome - Pome 代表 PostgreSQL 指标. Pome 是一个 PostgreSQL 指标仪表板,用于跟踪数据库的健康状况.
- pgmetrics - pgmetrics 是一个开源、零依赖、单一二进制工具,可以从正在运行的 PostgreSQL 服务器收集大量信息和统计数据,并以易于阅读的文本格式显示或将其导出为 JSON 和 CSV 以用于脚本.
- pg_view - 显示全局系统统计信息、每个分区信息、内存统计信息和其他信息的开源命令行工具.
- pgwatch2 - 灵活且易于上手的 PostgreSQL 指标监控器专注于 Grafana 仪表板.
- pgbench - 在 PostgreSQL 上运行基准测试.
- opm.io - Open PostgreSQL Monitoring 是一款免费软件套件,旨在帮助您管理 PostgreSQL 服务器. 它可以收集统计数据、显示仪表板并在出现问题时发送警告.
- okmeter.io - 基于商业 SaaS 代理的监控,带有非常详细的 PostgreSQL 插件. 它会自动收集 100 项统计数据,在各个方面显示仪表板,并在出现问题时发送警报(商业软件).
- dexter - Postgres 的自动索引器. 检测慢速查询并创建索引(如果配置为这样做).
Extensions¶
- Citus - 用于实时工作负载的可扩展 PostgreSQL 集群.
- cstore_fdw - 用于使用 PostgreSQL 进行分析的列式存储.
- cyanaudit - Cyan Audit 逐列提供所有 DML 活动的数据库内日志记录.
- pg_cron - 在 PostgreSQL 中运行定期作业.
- pglogical - 提供逻辑流复制的扩展.
- pg_partman - PostgreSQL 的分区管理扩展.
- pg_paxos - PostgreSQL 节点集群的 Paxos 和基于 Paxos 的表复制的基本实现.
- pg_shard - 扩展以扩展实时读取和写入.
- PGStrom - 将 CPU 密集型工作负载卸载到 GPU 的扩展.
- pgxn PostgreSQL 扩展网络 - 许多开源 PostgreSQL 扩展的中央分发点
- PipelineDB - 一个 PostgreSQL 扩展,它在流上连续运行 SQL 查询,将结果增量存储在表中.
- plpgsql_check - 允许检查 plpgsql 源代码的扩展.
- PostGIS - PostgreSQL 的空间和地理对象.
- PG_Themis - Postgres 绑定作为加密库 Themis 的扩展,在 PgSQL 端提供各种安全服务.
- zomboDB - 通过使用 Elasticsearch 支持的索引实现高效全文搜索的扩展.
- pgMemento - 使用以 PL/pgSQL 编写的触发器和服务器端函数,为您在 PostgreSQL 数据库中的数据提供审计跟踪.
- TimescaleDB - 与 Postgres 完全兼容的开源时间序列数据库,作为扩展分发
- pgTAP - Postgres 的数据库测试框架
- HypoPG - HypoPG 提供假设/虚拟索引功能.
- pgRouting - pgRouting 扩展了 PostGIS/PostgreSQL 地理空间数据库以提供地理空间路由和其他网络分析功能.
- PGroonga - PGroonga 提供了一种新的索引访问方法,该方法使用 Groonga 允许针对所有语言的超快速全文搜索功能.
- PGAudit - PostgreSQL 审计扩展(或 pgaudit)通过 PostgreSQL 提供的标准日志工具提供详细的会话和/或对象审计日志.
- PostgresML - 数据库中的机器学习和 AI,包括向量、LLM 和经典 ML. 仅使用 SQL 训练、预测和管理机器学习模型的整个生命周期.
Optimization¶
- pg_flame - 用于查询计划的火焰图生成器.
- PgHero - PostgreSQL 见解变得简单.
- pgMustard - 现代的用户界面
对于
EXPLAIN
,它还提供性能提示(商业软件). - pgtune - PostgreSQL 配置向导.
- pgtune - 在线版 PostgreSQL 配置向导.
- pgconfig.org - PostgreSQL 在线配置工具(也基于 pgtune).
- PoWA - PostgreSQL 工作负载分析器收集性能统计数据并提供实时图表和图形以帮助监控和调整您的 PostgreSQL 服务器.
- pg_web_stats - 用于查看 pg_stat_statements 的 Web UI.
- TimescaleDB Tune - 用于调整 TimescaleDB 数据库以根据主机资源(如内存和 CPU 数量)发挥最佳性能的程序.
Utilities¶
- apgdiff - 比较两个数据库转储文件并使用 DDL 语句创建输出,这些语句可用于将旧数据库模式更新为新模式.
- ERAlchemy - ERAlchemy 从数据库生成实体关系 (ER) 图.
- Hasura GraphQL Engine - 具有细粒度访问控制的 Postgres 上快速、即时的实时 GraphQL API,还可以触发数据库事件的 webhook.
- ldap2pg - 从 YML 和 LDAP 同步角色和权限.
- mysql-postgresql-converter - Lanyrd's MySQL to PostgreSQL conversion script.
- ora2pg - 用于将 Oracle 数据库模式导出到 PostgreSQL 兼容模式的 Perl 模块.
- pg_activity - 用于 PostgreSQL 服务器活动监控的顶级应用程序.
- pg-formatter - 一个 PostgreSQL SQL 语法美化器 (Node.js).
- pganalyze - PostgreSQL 性能监控(商业软件).
- pgbadger - 快速 PostgreSQL 日志分析器.
- PgBouncer - PostgreSQL 的轻量级连接池.
- pgCenter - 为各种统计、管理任务、重新加载服务、查看日志文件和取消或终止数据库后端提供方便的接口.
- pg_chameleon - 从 MySQL 到 PostgreSQL 的实时副本,具有可选的类型覆盖迁移和迁移功能.
- pgclimb - 将数据从 PostgreSQL 导出为不同的数据格式.
- pg_docs_bot - 将 PostgreSQL 文档链接重定向到当前版本的浏览器扩展.
- pgfutter - 以简单的方式将 CSV 和 JSON 导入 PostgreSQL.
- PGInsight - 可轻松深入挖掘 PostgreSQL 数据库的 CLI 工具.
- pg_insights - 用于监控 Postgres 数据库健康状况的便捷 SQL.
- pgloader - 使用 COPY 流协议将数据加载到 PostgreSQL 中,并使用单独的线程来读取和写入数据.
- pgMonitor - 可以部署到裸机、虚拟机或 Kubernetes 的 Postgres 指标收集和可视化.
- pgpool-II - 提供连接池、复制、负载平衡和限制超出连接的中间件.
- pgsync - Tool to sync PostgreSQL data to your local machine.
- PGXN client - 与 PostgreSQL 扩展网络交互的命令行工具
- postgresql-metrics - 为您的 PostgreSQL 数据库提取和提供指标的工具.
- PostgREST - 提供来自任何现有 PostgreSQL 数据库的完全 RESTful API.
- pREST - 从任何 PostgreSQL 数据库 (Golang) 提供 RESTful API
- PostGraphile - 用于您的 PostgreSQL 数据库的即时 GraphQL API 或 GraphQL 架构
- yoke - 具有自动故障转移和自动集群恢复功能的 PostgreSQL 高可用性集群.
- pglistend - 构建在 node-postgres 之上的轻量级 PostgresSQL
LISTEN
/NOTIFY
守护进程. - ZSON - 用于透明 JSONB 压缩的 PostgreSQL 扩展
- pg_bulkload - 它是 PostgreSQL 的高速数据加载实用程序.
- pg_migrate - 管理 PostgreSQL 代码库并简化 VCS.
- sqitch - 用于管理版本化模式部署的工具
- pgmigrate - 用于发展模式迁移的 CLI 工具,由 Yandex 开发.
- pgcmp - 比较数据库模式的工具,能够接受一些持久的差异
- pg-differ - 用于轻松初始化/更新 PostgreSQL 表结构的工具,迁移替代方案 (Node.js).
- sqlcheck - 自动检测常见的 SQL 反模式. 这种反模式通常会减慢查询速度. 因此,解决这些问题将有助于加速查询.
- postgres-checkup - 新一代诊断工具,允许用户收集对 Postgres 数据库健康状况的深入分析.
- ScaffoldHub.io - 使用 Angular、Vue 或 React(商业软件)生成全栈 PostgreSQL 应用程序.
Language bindings¶
- 普通口齿不清: Postmodern
- 语言: clj-postgresql *长生不老药: postgrex
- 去: pq, pgx 哈斯克尔: postgresql-simple 爪哇: PostgreSQL JDBC Driver
- .Net/.Net核心: Npgsql *节点: node-postgres, pg-promise, pogi, slonik, postgres
- 佩尔: DBD-Pg
- PHP: Pomm, pecl/pq
- Python: psycopg2, asyncpg
- 回复: RPostgreSQL 红宝石: pg 锈: rust-postgresql, pgx
- 二: luapgsql
PaaS (PostgreSQL as a Service)¶
- Aiven PostgreSQL - PostgreSQL 作为 AWS、Azure、DigitalOcean、Google Cloud 和 UpCloud 中的一项服务; 计划范围从每月 19 美元的单节点实例到大型高可用性设置,两周免费试用.
- Amazon RDS for PostgreSQL - 适用于 PostgreSQL 的亚马逊关系数据库服务 (RDS)
- Azure Database for PostgreSQL - Azure Database for PostgreSQL 提供完全托管、企业就绪的社区 PostgreSQL 数据库即服务. 它提供内置 HA、弹性缩放和与 Azure 生态系统的本地集成.
- Crunchy Bridge - 来自 Postgres 专家的完全托管的 Postgres. 适用于所有主要云提供商:Amazon AWS、Google GCP、Microsoft Azure. 完全超级用户支持,无需锁定.
- Database Labs - 在几分钟内获得生产就绪的云 PostgreSQL 服务器,每月 20 美元起 备份、监控、补丁和 24/7 技术支持全部包括在内.
- DigitalOcean Managed Databases - 完全托管的 PostgreSQL 数据库. 没有免费计划. 起价为 15 美元/月. 具有时间点恢复的每日备份. 具有自动故障转移功能的备用节点.
- ElephantSQL - 提供从用于小型项目和概念证明的共享服务器到企业级多服务器设置的数据库. 有最多 5 个数据库的免费计划,每个数据库 20 MB.
- Google Cloud SQL for PostgreSQL - 完全托管的数据库服务,可让您在 Google Cloud Platform 上轻松设置、维护、管理和控制 PostgreSQL 关系数据库.
- Heroku Postgres - 从免费到庞大的计划,由 PostgreSQL 专家操作. 不需要在 Heroku 上运行您的应用程序. 免费计划包括 10,000 行、20 个连接、最多两个备份,并支持 PostGIS.
- Render Managed PostgreSQL - 安全、可靠且完全不干涉的托管 PostgreSQL. 所有计划均包含静态加密、自动备份和可扩展的 SSD 存储. 256MB RAM 和 1GB 存储空间的计划起价为每月 7 美元(前 90 天免费).
- Scaleway Managed Database - 完全托管的 PostgreSQL 数据库,具有 HA、扩展和自动备份,托管在欧盟. 每月 10 欧元起.
- Neon - 完全托管的无服务器 PostgreSQL. Neon 将存储和计算分开,以提供无服务器、分支、无底存储等现代开发人员功能.
Docker images¶
- citusdata/citus - 带有 citus 扩展的 Citus 官方图像. 基于官方 Postgres 容器.
- mdillon/postgis - Postgres 9 上的 PostGIS 2.3.基于官方 Postgres 容器.
- postgres - 官方 postgres 容器(来自 Docker)
Resources¶
Tutorials¶
- Backup and recover a PostgreSQL DB using wal-e - 关于使用 wal-e 在 PostgreSQL 中设置连续归档的教程.
- PG Casts - Hashrocket 提供的每周免费 PostgreSQL 截屏视频.
- Postgres Guide - 旨在帮助初学者和有经验的用户查找特定提示和探索 PostgreSQL 中可用工具的指南.
- PostgreSQL Exercises - 通过练习轻松学习 PostgreSQL 的站点.
- tutorialspoint PostgreSQL tutorial - 非常广泛的 PostgreSQL 教程集合
- postgresDBSamples - 示例 postgres 模式的集合
- PostgreSQL Primer for Busy People - PostgreSQL 中最常用命令的集合
- pg-utils - Data Egret 的实用 DBA 工具
Blogs¶
- Planet PostgreSQL - PostgreSQL 的博客聚合服务.
- Andrew Dunstan's PostgreSQL and Technical blog
- Bruce Momjian's PostgreSQL blog
- Craig Kerstiens PostgreSQL posts - 一组关于 PostgreSQL 很酷的特性、提示和技巧的帖子.
- Database Soup - 乔希伯库斯的博客.
- Michael Paquier's blog
- Robert Haas' blog
- select * from depesz; - Hubert Lubaczewski 的博客.
Articles¶
- What PostgreSQL has over other open source SQL databases: Part I
- What PostgreSQL has over other open source SQL databases: Part II
- the ultimate postgres vs mysql blog post
- Debugging PostgreSQL performance, the hard way
- Why use Postgres?
- Superfast CSV imports using PostgreSQL's COPY command
- Tricking Postgres into using an insane – but 200x faster – query plan
Documentation¶
- Wiki - 用户文档、操作方法和提示“n”技巧
Newsletters¶
- Postgres Weekly - 包含与 PostgreSQL 相关的文章、新闻和存储库的每周时事通讯.
Videos¶
- Citus Data Youtube channel - 其他相关视频
- EnterpriseDB Youtube channel - EnterpriseDB 相关视频
- Postgres Conference Youtube channel - 会议视频
- Scaling Postgres - Creston Jamison 的 Postgres 视频博客系列
Community¶
- Mailing lists - 用于支持、外展等的 Postgres 官方邮件列表. Postgres 社区的主要交流渠道之一.
- Reddit - 拥有超过 12000 名用户的 PostgreSQL 用户的 reddit 社区
- Slack - 拥有超过 7000 名用户的 Postgres 的 Slack 频道
- Telegram - 几个不同语言的 PostgreSQL 群组: Russian >4200人, Brazilian Portuguese >2300人, Indonesian ~1000人, English >750人
- #postgresql on Freenode - Freenode 上关于 Postgres 的最受欢迎的 IRC 频道,拥有超过 1000 名用户
Roadmaps¶
- PostgreSQL Roadmap - 提供 PostgreSQL 分步指南的路线图.