PostgreSQL免安裝版是一款完全開源的數據庫管理工具,支持極為豐富的數據類型,不僅使用起來十分可靠,而且還非常的穩定,支持Windows、Unix等等跨平臺使用,PostgreSQL使用完全免費,而且具有優秀的擴展性,讓任何人都能夠自由的進行使用、修改、和分發。
1、PostgreSQL的特性覆蓋了SQL-2/SQL-92和SQL-3/SQL-99;
2、它包括了可以說是目前世界上最豐富的數據類型的支持,其中有些數據類型可以說連商業數據庫都不具備,比如IP類型和幾何類型等;
3、PostgreSQL是全功能的自由軟件數據庫,很長時間以來,PostgreSQL是唯一支持事務、子查詢、多版本并行控制系統、數據完整性檢查等特性的唯一的一種自由軟件的數據庫管理系統。直到最近才有Inprise的InterBase以及SAP等廠商將其原先專有軟件開放為自由軟件之后才打破了這個唯一。
4、PostgreSQL擁有一支非常活躍的開發隊伍,目前的提交人員已經超過三十人,而且在許多黑客的努力下,PostgreSQL的質量日益提高,也從另外一個側面上增加了人們使用PostgreSQL的信心,畢竟數據庫管理系統不能象桌面操作系統那樣一天宕一次還讓人覺得挺滿意。
持續性能表現
在先前PostgreSQL版本的基礎上,PostgreSQL 13可以有效地處理標準數據庫索引B-tree索引中的重復數據。這降低了B樹索引所需的總體空間使用量,同時提高了整體查詢性能。
PostgreSQL 13引入了增量排序,其中查詢中來自較早步驟的已排序數據可以加快后續步驟的排序。此外,PostgreSQL現在可以使用擴展的統計系統(可通過訪問CREATESTATISTICS)來為帶有OR子句和IN/ANY查找列表的查詢創建改進的計劃。
在PostgreSQL 13中,更多類型的聚合查詢和分組查詢可以利用PostgreSQL的高效哈希聚合功能,因為具有大聚合的查詢不必完全容納在內存中。帶有分區表的查詢的性能得到了提高,因為現在有更多情況可以裁剪(prune)分區并且可以直接關聯(join)分區。
管理優化
Vacuuming是PostgreSQL管理的重要組成部分,它使數據庫能夠在更新和刪除行之后回收存儲空間。盡管以前的PostgreSQL版本已經完成了減輕清理開銷的工作,但是此過程也可能帶來管理上的挑戰。
PostgreSQL 13通過引入用于索引的parallelizedvacuum 繼續改進vacuuming system。除了它提供的清理性能優勢外,由于管理員可以選擇要運行的并行workers的數量,因此可以針對特定的工作負載調整此新功能的使用。除了這些性能優勢之外,數據插入現在還可以觸發autovacuum process。
復制槽(用于防止在復制副本接收到WAL預寫日志之前將其刪除)可在PostgreSQL 13中進行調整,以指定要保留的WAL文件的最大數量,并有助于避免磁盤空間不足錯誤。
PostgreSQL 13還添加了更多管理員可以監視數據庫活動的方式,包括從參考WAL使用情況統計信息EXPLAIN,流式基礎備份的進度以及ANALYZE命令的進度。另外,可以使用新pg_verifybackup命令去檢查pg_basebackup輸出的完整性。
方便應用程序開發
PostgreSQL 13使使用來自不同數據源的PostgreSQL數據類型更加容易。此版本將datetime()功能添加到其SQL / JSON路徑支持中,該功能將有效的時間格式(例如ISO 8601字符串)轉換為PostgreSQL本地類型。此外,UUID v4生成功能gen_random_uuid()函數現已可用,而無需安裝任何擴展。
PostgreSQL的分區系統更加靈活,因為分區表完全支持邏輯復制和before行級觸發器。
PostgreSQL 13中的FETCH FIRST語法已擴展為包含該WITH TIES子句。指定時,WITH TIES包括基于ORDER BY子句的“ tie”與結果集中最后一行的任何行。
安全提升
PostgreSQL的擴展系統是其健壯性的關鍵組成部分,因為它允許開發人員擴展其功能。在以前的版本中,新的擴展只能由數據庫超級用戶安裝。為了更輕松地利用PostgreSQL的可擴展性,PostgreSQL 13添加了“可信擴展”的概念,該概念允許數據庫用戶安裝超級用戶標記為“可信”的擴展。某些內置擴展標記默認為可信,包括pgcrypto,tablefunc,hstore等等。
對于需要安全身份驗證方法的應用程序,PostgreSQL 13允許客戶端在使用SCRAM身份驗證時要求通道綁定(channel binding),并且PostgreSQL外部數據包裝器(postgres_fdw)現在可以使用基于證書的身份驗證。
比專有供應商更好的支持
除了我們強大的支持服務外,我們還擁有充滿活力的PostgreSQL專業人士和愛好者社區,您的員工可以利用并貢獻自己的力量。
傳奇的可靠性和穩定性
與許多專有數據庫不同的是,公司報告說PostgreSQL從未在數年的高活動運行中從未崩潰。一次也沒有。它只是工作。
跨平臺
PostgreSQL幾乎適用于所有Unix品牌(最新穩定版本的34個平臺),Windows兼容性可通過Cygwin框架獲得。本機Windows兼容性也適用于版本8.0及以上。
專為高容量環境而設計
我們使用一種稱為MVCC的多行數據存儲策略來使PostgreSQL在高容量環境下的響應速度非常快。同樣的原因,領先的專有數據庫供應商也使用這種技術。
一、安裝
首先,安裝PostgreSQL客戶端。
sudo apt-get install postgresql-client
然后,安裝PostgreSQL服務器。
sudo apt-get install postgresql
正常情況下,安裝完成后,PostgreSQL服務器會自動在本機的5432端口開啟。
如果還想安裝圖形管理界面,可以運行下面命令,但是本文不涉及這方面內容。
sudo apt-get install pgadmin3
二、添加新用戶和新數據庫
初次安裝后,默認生成一個名為postgres的數據庫和一個名為postgres的數據庫用戶。這里需要注意的是,同時還生成了一個名為postgres的Linux系統用戶。
下面,我們使用postgres用戶,來生成其他用戶和新數據庫。好幾種方法可以達到這個目的,這里介紹兩種。
第一種方法,使用PostgreSQL控制臺。
首先,新建一個Linux新用戶,可以取你想要的名字,這里為dbuser。
sudo adduser dbuser
然后,切換到postgres用戶。
sudo su - postgres
下一步,使用psql命令登錄PostgreSQL控制臺。
psql
這時相當于系統用戶postgres以同名數據庫用戶的身份,登錄數據庫,這是不用輸入密碼的。如果一切正常,系統提示符會變為"postgres=#",表示這時已經進入了數據庫控制臺。以下的命令都在控制臺內完成。
第一件事是使用\password命令,為postgres用戶設置一個密碼。
\password postgres
第二件事是創建數據庫用戶dbuser(剛才創建的是Linux系統用戶),并設置密碼。
CREATE USER dbuser WITH PASSWORD 'password';
第三件事是創建用戶數據庫,這里為exampledb,并指定所有者為dbuser。
CREATE DATABASE exampledb OWNER dbuser;
第四件事是將exampledb數據庫的所有權限都賦予dbuser,否則dbuser只能登錄控制臺,沒有任何數據庫操作權限。
GRANT ALL PRIVILEGES ON DATABASE exampledb to dbuser;
最后,使用\q命令退出控制臺(也可以直接按ctrl+D)。
\q
第二種方法,使用shell命令行。
添加新用戶和新數據庫,除了在PostgreSQL控制臺內,還可以在shell命令行下完成。這是因為PostgreSQL提供了命令行程序createuser和createdb。還是以新建用戶dbuser和數據庫exampledb為例。
首先,創建數據庫用戶dbuser,并指定其為超級用戶。
sudo -u postgres createuser --superuser dbuser
然后,登錄數據庫控制臺,設置dbuser用戶的密碼,完成后退出控制臺。
sudo -u postgres psql
\password dbuser
\q
接著,在shell命令行下,創建數據庫exampledb,并指定所有者為dbuser。
sudo -u postgres createdb -O dbuser exampledb
三、登錄數據庫
添加新用戶和新數據庫以后,就要以新用戶的名義登錄數據庫,這時使用的是psql命令。
psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432
上面命令的參數含義如下:-U指定用戶,-d指定數據庫,-h指定服務器,-p指定端口。
輸入上面命令以后,系統會提示輸入dbuser用戶的密碼。輸入正確,就可以登錄控制臺了。
psql命令存在簡寫形式。如果當前Linux系統用戶,同時也是PostgreSQL用戶,則可以省略用戶名(-U參數的部分)。舉例來說,我的Linux系統用戶名為ruanyf,且PostgreSQL數據庫存在同名用戶,則我以ruanyf身份登錄Linux系統后,可以直接使用下面的命令登錄數據庫,且不需要密碼。
psql exampledb
此時,如果PostgreSQL內部還存在與當前系統用戶同名的數據庫,則連數據庫名都可以省略。比如,假定存在一個叫做ruanyf的數據庫,則直接鍵入psql就可以登錄該數據庫。
psql
另外,如果要恢復外部數據,可以使用下面的命令。
psql exampledb < exampledb.sql
四、控制臺命令
除了前面已經用到的\password命令(設置密碼)和\q命令(退出)以外,控制臺還提供一系列其他命令。
\h:查看SQL命令的解釋,比如\h select。
\?:查看psql命令列表。
\l:列出所有數據庫。
\c [database_name]:連接其他數據庫。
\d:列出當前數據庫的所有表格。
\d [table_name]:列出某一張表格的結構。
\du:列出所有用戶。
\e:打開文本編輯器。
\conninfo:列出當前數據庫和連接的信息。
五、數據庫操作
基本的數據庫操作,就是使用一般的SQL語言。
# 創建新表
CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE);
# 插入數據
INSERT INTO user_tbl(name, signup_date) VALUES('張三', '2013-12-22');
# 選擇記錄
SELECT * FROM user_tbl;
# 更新數據
UPDATE user_tbl set name = '李四' WHERE name = '張三';
# 刪除記錄
DELETE FROM user_tbl WHERE name = '李四' ;
# 添加欄位
ALTER TABLE user_tbl ADD email VARCHAR(40);
# 更新結構
ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL;
# 更名欄位
ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup;
# 刪除欄位
ALTER TABLE user_tbl DROP COLUMN email;
# 表格更名
ALTER TABLE user_tbl RENAME TO backup_tbl;
# 刪除表格
DROP TABLE IF EXISTS backup_tbl;
1、首先在本頁面下載PostgreSQL文件包,解壓后,雙擊exe文件,進入安裝界面,點擊next
2、設置軟件安裝位置,點擊默認安裝位置后面的按鈕可以自由設置,然后點擊next
3、選擇安裝組件,點擊next
4、設置數據存放位置,點擊默認位置后面的按鈕可以自由設置,然后點擊next
5、設置密碼,點擊next
6、設置服務器端口,點擊next
7、選擇語言,選擇簡體中文,點擊next
8、確認安裝信息,點擊next
9、準備安裝,點擊next
10、PostgreSQL官方版開始安裝,我們耐心等待
11、軟件安裝成功