PG實用工具推薦和介紹
圖形化使用者介面(GUI)
雖然Postgres並沒有自帶原生的GUI,但是您可以透過如下特定的、基於Web的GUI和工具,來輕鬆地管理Postgres資料庫。
1. DataGrip
作為一款可以協助簡化管理多個資料庫的工具,DataGrip能夠與包括PostgreSQL在內的多種資料庫系統相相容。透過由它提供的圖形化介面,您不但可以管理資料庫,還能夠執行查詢,以及完成各種例行的維護任務。
2. DBeaver
DBeaver的最新版本--7.1.4,帶有直觀化的資料編輯功能。同時,它能夠支援PostgreSQL,以及許多其他型別的資料庫系統。
3. Navicat for PostgreSQL
Navicat在資料庫領域已深耕多年。它的Postgres產品旨在為使用者提供管理複雜資料庫所需的各種工具。同時,它也提供了原生的資料視覺化工具。
4. PgAdmin
在簡化Postgres維護和管理方面,pgAdmin可謂老牌產品。如今,它不但能夠基於Web選項、支援外部配置檔案,並且還可以執行在雲端。雖然它可以被用作管理資料庫叢集,但是與完整的GUI相比,pgAdmin還是略顯簡陋了一些。
5. Valentina Studio for PostgreSQL
Valentina Studio支援各種表單,可以與CI/CD管道相整合,還能夠簡化資料庫之間的資料傳輸。它雖然具有不同的版本,但是即便是其免費的版本,也能夠管理多個Postgres資料庫。
6. phpPgAdmin
phpMyAdmin之於MySQL,正如phpPgAdmin之於PostgreSQL。兩者在功能上既有相似之處,又有不同的地方。
7. Metabase
作為一款具有高階UI的資料處理工具,Metabase不但可以完成複雜的查詢,還能夠使使用者透過視覺化的方式,從PostgreSQL資料庫中收集潛在的資料關係。
8. Slemma
Slemma遠不止為Postgres提供GUI那麼簡單。透過引入自動化,它能夠基於引數和資料之間的關係,自動生成視覺化的資料包告。
9. Windward Studios
作為一款特殊的GUI工具,Windward可以與Microsoft Office進行原生地整合。您既可以使用Office應用來設計報告模板,又可以使用儲存在Postgres中的資料,去視覺化報告。
實用工具
Postgres的實用工具通常被設計為,用來處理某項特定的需求。可以說,在將良好的實用工具整合到資料庫管理工作流中之後,資料庫工程師的工作會比以往輕鬆許多。下面是目前比較流行的實用工具。
1. pg_catcheck
眾所周知,系統目錄的損壞可能會讓您丟失資料條目,以及某些有價值的資訊。而pg_catheck可以監控系統目錄是否被損壞,是否會讓整個Postgres資料庫因故導致當機。
2. pgBouncer
顧名思義,pgBouncer能夠像保鏢一般,阻止任何未經授權的訪問。它經常作為負載平衡器,來管理各種連線。同時,您可以使用它來儲存密碼,加密SCRAM金鑰,進而保障Postgres的安全性。
3. HypoPG
HypoPG可以在不消耗任何雲端資源的情況下,建立虛擬索引,並且能夠處理假設的分割槽。
4. PostGIS
PostGIS能夠提供對空間資訊的原生支援。Postgres使用者可以使用PostGIS,在查詢中為應用提供準確的位置資訊。
5. Postgres_fdw
Postgres_fdw能夠讓外部資料包裝器(Foreign-data wrapper)輕鬆地訪問外部的Postgres資料庫。也就是說,您可以使用其他資料庫中的物件,而無需內、外部進行真實同步。在該實用工具安裝完成後,您可以建立一個外部伺服器物件,以及相應的使用者對映。
6. DB Doc for PostgreSQL
DB Doc for PostgreSQL能夠為您所開發的專案,建立對應的文件。
平臺即服務(PaaS)
如今,許多開發團隊都希望能夠以“零管理”的方式,支援其部署在雲端架構中的Postgres。對此,如下PaaS提供了功能齊全、卻略有不同的資料庫託管服務。
1. Amazon RDS for PostgreSQL
Amazon的RDS透過提供雲關係型資料庫作為託管服務。它可以讓使用者完全使用由Postgres所提供的各項功能,而無需考慮儲存、部署週期、可用性、以及備份等問題。
2. Aiven for PostgreSQL
Aiven for PostgreSQL提供了完全託管的SQL資料庫。它可以在AWS、GCP、Azure和其他雲生態系統上執行,以提高資料庫的可用性。您可以先免費試用該平臺,然後再切換到最適合自己需求的付費版本上。
3. Cloud SQL for PostgreSQL
Cloud SQL for PostgreSQL是Google雲端關係型資料庫的版本。它能夠與其他的GCP服務很好地整合在一起。同時,它透過全面的API,來支援那些在多雲環境中執行的應用。
4. Azure Database for PostgreSQL
Microsoft也提供了一個可擴充套件性的Azure Database for PostgreSQL。得益於支援機器學習,該PaaS提供了各種智慧化的功能與效能。
5. DigitalOcean Managed Databases
DigitalOcean Managed Databases具有一定的價格方面優勢,其起售價僅為每月15美元。它具有易於設定、無縫運維、日常備份、以及多冗餘等功能,旨在支援各種應用和微服務。
6. Heroku PostgreSQL
Heroku PostgreSQL在提供全面的Postgres功能的同時,不會讓整個平臺顯得過於臃腫和複雜。它在美國和歐洲都有銷售。
應用領域
目前,許多工具都是旨在簡化Postgres資料庫的設計、關係的建立、表的管理、以及整個PostgreSQL平臺的構建。下面,我們來討論兩個用於端到端資料庫設計和管理的Postgres應用。
1. agileBase
agileBase以其低程式碼量(甚至是無程式碼)而聞名。您不必成為資料庫專家,便可構建自己的平臺,進而支援應用的交付。由於agileBase將其PostgreSQL功能設計為“積木”式,因此您可以按需定製。
2. Dataedo
您可以透過Dataedo的簡單使用者介面,來管理最為複雜的Postgres資料庫。它不但可以直觀地顯示資料關係,還可以對其進行編輯。
高可用性
在實際應用中,我們往往需要在具有高可用性的環境中,實現PostgreSQL資料庫,以避免由於資料庫故障所導致的整個應用系統的崩潰。同時,我們可以透過如下工具,持續監控PostgreSQL的可用性。
1. PostgreSQL Dashboard
根據PostgreSQL Dashboard提供的各項關鍵性指標,我們可以輕鬆地獲悉資料庫的可用性,而無需手動瀏覽日誌。同時,憑藉著其直觀的洞見顯示,我們也可以透過完善雲端架構,來提高資料庫系統的可靠性。
2. Stolon
Stolon是一種原生的PostgreSQL管理工具。它旨在易於實現高可用性。透過提供諸如對Kubernetes的原生支援,以及自動化服務發現等功能,Stolon允許多個資料庫例項同時執行,併為之提供冗餘。
3. PostgreSQL Automatic Failover
PostgreSQL Automatic Failover(PAF)是基於高可用性的行業標準—Pacemaker而開發的。您只需一次性配置PAF,定義諸如recovery_target_timeline和standby_mode等引數,即可為PostgreSQL資料庫提供高可用性。
備份
雲生態系統雖然能夠提供較高的可用性,但是我們在日常運營中也少不了對於資料庫的例行備份。下面,我們來討論一些可以輕鬆實現Postgres自動化備份的工具。
1. Barman
作為PostgreSQL的完整災難恢復方案,Barman以無縫的方式提供了對於熱備份和冷備份的管理。它不但支援回滾,而且可以根據已配置的引數,自動對資料庫的狀態產生快照。更重要的是,Barman可以同時管理在多個雲端環境中執行的資料庫。
2. pg_probackup
作為Postgres的簡單備份工具,pg_probackup簡化了資料庫叢集中的備份過程。它既支援多個任務的並行化,又支援對資料庫的檔案進行資料去重等功能。
命令列介面(CLI)
儘管大部分PostgreSQL管理工具都提供了GUI,但是一些開發人員仍然喜歡使用命令列介面,來批次完成某些特定的操作。下面,我們來看看其中最為流行的、兩種可以在終端上執行Postgres命令的工具。
1. Pgcli
顧名思義,Pgcli是Postgres的命令列介面。它能夠為使用者提供非常詳細的資訊,以及愉悅的使用體驗。例如,當您輸入\d引數時,它將為您視覺化地顯示資料表,並以序號標註每一個程式碼行。
2. pgsh
除了提供與Pgcli類似的功能,pgsh也能夠管理資料庫遷移等任務。您可以選擇JavaScript和Python作為的首選語言。當然,前者在生產環境中被使用得更廣一些。
伺服器端
其實,資料庫系統的效能在很大程度上取決於叢集的可靠性。下面,我們來討論兩個用於建立和管理可擴充套件式PostgreSQL叢集的工具。
1. Postgres-XL
Postgres-XL能夠透過原生地使用負載平衡和多個節點,對OLTP的寫入密集型工作負載提供支援。無論您的關係型資料庫有多麼複雜,Postgres-XL都能夠建立和最佳化完美的資料庫叢集。
2. AgensGraph
透過與複雜的PostgreSQL資料庫進行無縫的互動,AgensGraph使用圖形化查詢語言,來提高資料庫叢集的整體效能。
監控
雖然大部分雲服務提供商,都為開發運營人員提供了諸如AWS CloudWatch之類的監控工具,但是它們往往無法真正提供PostgreSQL的詳細效能資訊。為此,我們可以選用如下監控管理工具。
1. Datasentinel
既可以被用於本地,又可以基於雲端的Datasentinel,能夠顯示諸如:SQL統計資訊、SQL活動的合併檢視、以及會話工作負載等關鍵性指標。同時,它也可以實時採集資料,並處理各種歷史資料。
2. PostgreSQL Dashboard
透過提供簡單的儀表板,PostgreSQL Dashboard可以快速分析PostgreSQL的各項指標。其使用者介面雖然缺少了自定義選項,但是方便了使用者的使用與設定。因此,與深度分析相比,該工具更適用於快速監控的目的。
3. Pgbadger
作為一款內建了視覺化工具的、快速可靠的日誌分析器,Pgbadger允許使用者設定為僅報告特定的錯誤和事件,從而有針對性地對資料庫進行取證和詳細監控。
4. Pgcluu
作為一種技術性極強的工具,Pgcluu可以透過視覺化PostgreSQL叢集節點的詳細資料,方便使用者持續監控資料庫、乃至系統的效能。
5. Postgrestats
Postgrestats整合了統計資訊的收集、顯示與分析功能。由於它是用PHP和HTML5開發的,因此在部署時不會佔用大量的雲端資源。與PostgreSQL Dashboard相似,該軟體包不但是輕量級的,而且能夠讓使用者快速獲悉資料庫的效能狀態。
6. PoWA
PostgreSQL Workload Analyzer(PoWA)不但可以分析資料庫叢集的工作負載與效能,還能夠支援那些被用於建立假設索引(hypothetical indexes)的擴充套件項。
7. Check_postgres
Check_postgres可以靈活地與Nagios和MRTG相整合,以實現對資料庫指定屬性的詳細監控,以及對配置進行深入檢查。
擴充套件
作為一個非常流行的資料庫系統,PostgreSQL可以根據不同的特定功能,整合許多自定義的擴充套件項。下面我們來討論一些比較流行的擴充套件功能。
1. OpenFTS
開源全文搜尋引擎(Open-Source Full-Text Search Engine,OpenFTS)能夠處理線上索引,並啟用搜尋引擎等功能。它不但能夠基於預定指標,對資料庫的搜尋結果進行排序,而且可以利用過濾器,來最佳化搜尋結果。
2. AppOS
AppOS不但能夠簡化Postgres使用者的儲存管理,還可以被用於建立高效的、可預測的資料庫框架。
3. PostPic
為了讓PostgreSQL資料庫中的影像處理功能,在應用程式中發揮作用,PostPic能夠與PostGIS協作,對空間資料和影像進行深度處理。
4. Swarm64
作為一種最佳化型別的擴充套件,Swarm64可以提高資料的載入速度,最佳化儲存空間的使用率,進而提升Postgres資料庫的查詢速度。
5. CyanAudit
顧名思義,由PL/SQL編寫的CyanAudit,主要負責在不影響資料庫效能的前提下,稽核DML請求,並進行深入的日誌記錄。
6. Timescale
透過在關係型資料庫系統中採集時序資料,Timescale可以在不犧牲PostgreSQL效能的情況下,堆疊(stack)包括關係查詢和時序查詢在內的各種複雜查詢。
7. Prefix
常被用於電話領域應用的Prefix,可以提供各種自定義的字首模式。例如:它既可以驗證資料庫的各個條目,又可以將它們與主鍵prefix_range進行比較。
8. PG-Storm
PG-Storm旨在加速資料庫的分析和批處理操作。如果您的叢集使用到了NVME-SSD和GPU,那麼該擴充套件便可以加快PostgreSQL分析例程的速度。
9. PG-Themis
PG-Themis是一種使用Themis庫進行加、解密的PostgreSQL擴充套件。您可以在SQL查詢中新增加、解密命令,以確保最大的安全性。
業務智慧
儲存在資料庫中的資料需要為業務發揮應有的價值。為了以業務智慧的方式處理和利用資料,我們通常會使用如下工具和高階演算法,將資料分析的見解顯示在儀表板上。
1. Chartio
作為一個儀表板,Chartio可與PostgreSQL資料庫緊密協作。由於Chartio十分易用,因此您不必成為資料專家,即可執行諸如:查詢和轉換SQL條目之類的操作。
2. SeekTable
SeekTable能夠允許您按需訪問各種業務智慧工具。SeekTable非常適合處理事件敏感型資料,並按需建立報告。通常,您無需匯入現有的PostgreSQL資料庫,即可處理各種資料條目。
3. Ubiq
Ubiq是一種將業務智慧與PostgreSQL相整合的專業工具。它可以工作在雲端或本地環境中,能夠提供包括重複查詢、以及自定義欄位使用情況等資訊的高階報告。
叢集
如前所述,我們可以透過雲端架構和增加節點的方式,提高資料庫叢集的可擴充套件性,以及高可用性。如下工具恰好能夠幫助您更好地控制資料庫叢集。
1. YugabyteDB
Yugabyte是一個高效能的開源分散式SQL資料庫,它支援全域性化的雲原生應用。此類應用往往既能夠提供與PostgreSQL相相容的API,又可以被分散式地部署在多個地理位置。該工具非常適合那些希望透過雲原生技術,管理資料庫架構的企業。據此,企業可以提供SQL資料建模的靈活性,以及各項事務處理功能。
2. GridSQL
GridSQL專為PostgreSQL而設計。由於Postgres資料庫可以分佈在多個伺服器上,因此GridSQL可以讓資料庫實現更快的查詢、更短的響應時間、更高的效能、以及獲取更多的伺服器資源。
3. Hyperscale
Hyperscale也稱為Citus,它是針對Azure使用者的原生擴充套件。使用者可以透過Hyperscale輕鬆地實現獨立於叢集的水平擴充套件,例如:將Postgres資料庫佈置到100多個節點上。
最佳化
對於PostgreSQL資料庫的最佳化,往往需要基於持續的監控,而非一蹴而就。如下最佳化工具可以方便您詳細瞭解PostgreSQL資料庫在支援應用的過程中,存在哪些效能上的瓶頸。
1. PGHero
PGHero集持續監控功能與資料庫執行狀況檢查功能於一身,能夠提供諸如:對於CPU(和雲資源)使用情況的預測,更好的擴充套件性,自動清理,以及各種內建的資料庫維護工具。
2. pgDash
作為一個專為PostgreSQL設計的全面監控方案,pgDash能夠顯示PostgreSQL資料庫所需的所有核心報告,視覺化各項功能和指標,建立詳細的時序圖,分析最新的資料,以及執行重要的診斷程式。
3. PGTune
PGTune能夠為您在部署Postgres資料庫時,計算出真正的伺服器需求,以便您為此支付合理的費用。
4. PGMustard
PGMustard可以幫助使用者發現那些需要長時間處理,以及更多伺服器資源的查詢,以便您在將PostgreSQL部署到生產環境之前,及時發現效能瓶頸,並最佳化查詢。
5. PGConfig
雖然與PGTune非常相似,但是PGConfig提供了其他配置項,可協助使用者模擬出不同的條件。例如,您可以根據伺服器配置、或系統要求,找到work_mem,以及與檢查點相關(checkpoint-related)的配置。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2759196/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- div和css命名規範推薦介紹CSS
- 【推薦系統篇】--推薦系統介紹和基本架構流程架構
- 介紹一下我一直用的IDE-工具推薦IDE
- 實用工具推薦
- 程式設計中實用的工具推薦程式設計
- ansible的roles介紹和實戰薦
- 推薦演算法(一)--基本介紹演算法
- [推薦]WebService開發知識介紹Web
- PostgreSQL pg_stat_statements模板介紹和部署SQL
- 優秀工具推薦:超實用的CSS庫 樣板和框架CSS框架
- seata分散式事務TCC模式介紹及推薦實踐分散式模式
- 推薦模型NeuralCF:原理介紹與TensorFlow2.0實現模型
- 推薦四款超實用的搜尋工具
- 【工具推薦】4款實用性超高的Linux ssh工具!Linux
- 推薦模型DeepCrossing: 原理介紹與TensorFlow2.0實現模型ROS
- 推薦幾款實用工具
- Tkprof工具介紹和分析
- 推薦幾款比較實用的工具,網站網站
- [推薦]大型網站開發知識介紹網站
- 《推薦系統實踐》筆記 01 推薦系統簡介筆記
- [推薦]DDOS攻擊與防範知識介紹
- Tkprof工具介紹和分析[轉]]
- mitmproxy 代理工具介紹:rewrite和map local實現MIT
- Python 應用剖析工具介紹Python
- 推薦2個前端工具:Charles和Postman前端Postman
- 8個主流且實用的Python開發工具推薦!Python
- 含淚推薦5款小體積,超實用的工具
- 個推技術實現原理介紹
- Sublime Text 使用介紹、全套快捷鍵及外掛推薦
- Python用什麼工具好?Python工具推薦!Python
- 影片軟體哪款最好用 八款與牌照商合作應用推薦介紹
- 五款實用軟體推薦
- 推薦兩個實用技術
- 【強烈推薦】python超好用、超實用的開發工具!Python
- 推薦五款簡潔而實用的工具,值得你嘗試
- 恆訊科技推薦:實用的海外伺服器備份工具伺服器
- 推薦一個工具
- 好用的工具推薦