前言
PostgreSQL 是一個功能強大的開源關系型數據庫管理系統(ORDBMS),以下是對它的全面介紹:
基本概況
-
名稱:通常簡稱為 "Postgres"
-
類型:對象-關系型數據庫管理系統
-
許可:開源,采用類MIT許可證
-
首次發布:1996年(起源于1986年的POSTGRES項目)
-
最新版本:PostgreSQL 16(截至2023年9月發布)
核心特性
-
標準兼容性
-
完全符合ACID(原子性、一致性、隔離性、持久性)
-
高度兼容SQL標準
-
-
高級功能
-
復雜查詢
-
外鍵
-
觸發器
-
可更新視圖
-
事務完整性
-
多版本并發控制(MVCC)
-
-
擴展性
-
支持自定義數據類型
-
自定義函數
-
使用不同編程語言編寫代碼(如PL/pgSQL, PL/Python, PL/Perl等)
-
-
數據完整性
-
主鍵
-
外鍵
-
排他約束
-
顯式鎖定
-
咨詢鎖定
-
技術優勢
-
可擴展架構:允許添加新功能而不影響核心系統
-
豐富的數據類型:包括原生JSON/JSONB支持、幾何圖形、網絡地址等
-
強大的索引支持:B-tree、哈希、GiST、SP-GiST、GIN和BRIN索引
-
全功能SQL實現:包括復雜子查詢、窗口函數、公共表表達式(CTE)
-
并發控制:多版本并發控制(MVCC)實現高效讀寫并發
應用場景
PostgreSQL適用于各種應用場景,包括:
-
Web應用程序
-
地理信息系統(GIS)
-
科學數據分析
-
金融系統
-
物聯網(IoT)應用
-
內容管理系統
生態系統
PostgreSQL擁有豐富的擴展生態系統,包括:
-
PostGIS(地理空間數據庫擴展)
-
pgAdmin(圖形化管理工具)
-
多種連接池解決方案
-
多種復制和集群解決方案
PostgreSQL以其穩定性、功能豐富性和標準合規性,成為企業級應用和關鍵任務系統的理想選擇。
一、PostgreSQL 安裝
1、下載官網:EDB:開源企業 Postgres 數據庫管理
2、根據不同的操作系統選擇對應的安裝包進行下載,以下是各個版本的情況說明:
PostgreSQL 版本情況對比:
版本 | 發布時間 | 支持狀態 | 主要特性亮點 | 停止支持時間 |
---|---|---|---|---|
17 | 2024-09 | 活躍支持 | VACUUM優化(tid store)、WAL寫入2倍提升、邏輯復制故障轉移、JSON_TABLE() | ~2029 |
16 | 2023-09 | 安全維護 | 并行邏輯復制、pg_stat_io監控、ICU排序增強 | ~2028 |
15 | 2022-10 | 安全維護 | MERGE命令、Zstd壓縮、邏輯復制權限細化 | ~2027 |
14 | 2021-09 | 安全維護 | 長事務性能優化、JSONB下標訪問、擴展管理改進 | ~2026 |
13 | 2020-09 | EOL(已終止) | 索引優化(B樹去重)、并行VACUUM、增量排序 |
??EOL(已終止):表示版本不再接收安全更新,建議盡快升級。
3、這里我選擇的是?15.13版本的windows x86-64安裝包
4、雙擊安裝
5、點擊? Next? ? ? ?
6、選擇數據庫安裝目錄
7、四個默認全選,點擊下一步。
8、數據庫存儲路徑(默認就好),點擊下一步。
9、對數據庫進行用戶密碼設置,完成后點擊 Next。
10、PostgreSQL的默認端口號:5432,直接點擊下一步 Next。
11、選擇語言,選擇簡體中文,點擊Next。(推薦默認語言最好)
12、這里將預覽文件路徑及數據庫信息,直接點擊下一步。
13、點擊下一步,開始安裝。
14、取消勾選Stack Builder,然后點擊Finish
關閉窗口。
?二、配置環境變量?
驗證:
psql --version
?三、下載PostgreSQL 數據庫管理工具
1、pgAdmin官網下載:下載
?2、我選擇下載了9.4版本,需要下載什么版本請按照對照表選擇自己適合的。
?
3、pgAdmin 4 各版本與 PostgreSQL 兼容性對照表
版本 | 發布日期 | 兼容的 PostgreSQL 版本 | 核心改進與特性 | 支持狀態 |
---|---|---|---|---|
v9.5 | 2025年6月30日 | PostgreSQL 14~18 | 支持 PG18 新特性,優化查詢計劃可視化 | 活躍支持 |
v9.4 | 2025年5月29日 | PostgreSQL 13~17 | 修復 JSON 編輯器性能問題 | 安全維護 |
v9.3 | 2025年4月30日 | PostgreSQL 12~17 | 新增 OAuth2 認證支持 | 安全維護 |
v8.14 | 2024年12月12日 | PostgreSQL 11~16 | 增強 Schema Diff 工具 | 安全維護 |
v7.8 | 2023年10月19日 | PostgreSQL 10~15 | 修復高并發連接崩潰問題 | 已停止維護 |
v6.21 | 2023年3月9日 | PostgreSQL 9.6~14 | 最后支持 Python 2 的版本 | 已停 |
4、下載完成之后進行雙擊
5、點擊install for me only,看個人需求,也可以給所有用戶安裝。
?6、點擊Next。
7、接受許可,點擊Next。
8、選擇安裝路徑
?9、點擊Next。
10、點擊install
11、點擊完成
四、使用pgAdmin4
1、應用搜索pgAdmin4。
2、稍等1~2分鐘
3、設置中文界面
完成
4、連接到 PostgreSQL 數據庫服務器,雙擊Servers 輸入安裝數據庫時的密碼進行連接。
?
5、連接成功。
五、PostgreSQL 常用命令速查表
類別 | 命令 | 說明 |
---|---|---|
數據庫連接 | psql -U username -d dbname -h host -p port | 連接到指定數據庫(示例:psql -U postgres -d mydb -h localhost -p 5432 ) |
\c dbname | 切換數據庫(在psql中) | |
信息查詢 | \l | 列出所有數據庫 |
\dt | 列出當前數據庫的所有表 | |
\d+ tablename | 查看表結構(含索引、約束等詳細信息) | |
\du | 列出所有用戶/角色 | |
數據庫操作 | CREATE DATABASE dbname; | 創建數據庫 |
DROP DATABASE dbname; | 刪除數據庫 | |
表操作 | CREATE TABLE tablename (id SERIAL PRIMARY KEY, name VARCHAR(50)); | 創建表(示例) |
ALTER TABLE tablename ADD COLUMN columnname datatype; | 添加列 | |
DROP TABLE tablename; | 刪除表 | |
數據操作 | INSERT INTO tablename (col1, col2) VALUES (val1, val2); | 插入數據 |
UPDATE tablename SET col1=val1 WHERE condition; | 更新數據 | |
DELETE FROM tablename WHERE condition; | 刪除數據 | |
SELECT * FROM tablename WHERE condition; | 查詢數據(支持復雜JOIN、GROUP BY等) | |
索引管理 | CREATE INDEX idx_name ON tablename (column); | 創建索引 |
DROP INDEX idx_name; | 刪除索引 | |
用戶權限 | CREATE USER username WITH PASSWORD 'password'; | 創建用戶 |
GRANT ALL PRIVILEGES ON DATABASE dbname TO username; | 授予數據庫權限 | |
REVOKE privilege ON tablename FROM username; | 撤銷權限 | |
備份恢復 | pg_dump -U username -d dbname -f backup.sql | 備份數據庫到文件 |
psql -U username -d dbname -f backup.sql | 從文件恢復數據庫 | |
事務控制 | BEGIN; | 開始事務 |
COMMIT; | 提交事務 | |
ROLLBACK; | 回滾事務 | |
性能分析 | EXPLAIN ANALYZE SELECT * FROM tablename; | 分析查詢執行計劃 |
VACUUM (VERBOSE, ANALYZE) tablename; | 清理和優化表空間 |