PostgreSQL自1982年開始已開發超過18年,。該專案最初開始於在加利福尼亞大學伯克利分校的Ingres計劃;在系統可靠性、資料完整性和正確性獲得極佳評價;在類似BSD授權與MIT授權的PostgreSQL授權下發行,可用於商業行為上。
支援在非常多作業系統上執行,如:Linux、UNIX家族-AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris 與 Tru64和 Windows。
完全符合ISO ACID註,全面支援 Foreign Keys、Joins, Views、Triggers和Stored Procedures(多種程式語言)。 文字方面同時支援國際字元集、多位元組字元編碼。
支援的資料型態有Integer、Numberic、Boolean、Char、Varchar、DAT、, Interval與 Timestamp,也支援儲存二進位(binary)大型檔案,如 圖片、聲音或視訊。原生程式語言支援包含 C/C++、Java、Perl , Python, Ruby、.Net、TCL、ODBC等等,且文件非常完整ㄉ。
支援多種企業級資料庫系統的功能,如多版本並行控制(Multi-Version Concurrency Control), 時間點資料還原(Restore to point in time),表格空間(tablespaces)、非同步資料複製(Asynchronous Replication)、巢狀交易(儲存點)、不需關機的線上(熱)備份、複雜的查詢規劃器/優化、支援容錯能力的優先寫入日誌檔等等功能。
限制 | 值 |
---|---|
最大 Database Size | 無限制 |
最大資料庫數量 | 4,294,950,911 |
每個資料庫的最大Table數量 | 1,431,650,303 |
最大 Table Size | 32 TB (Block size: 8192 bytes) |
每個Table最多 Columns | 1600 |
最大 Row 大小 | 1.6 TB |
最大 Field 大小 | 1 GB |
每個Table可儲存最大 Rows數量 | 無限制 |
每個Table最大 indexes數量 | 無限制 |
ISO/IEC 10026-1:1992 在處理資料變動上對資料庫系統(DBMS)定義了需要具備四個的能力,要求資料庫管理系統在寫入和變動資料的過程中,需要保證資料庫交易(transaction)的正確可靠,定義了需要符合的四個特性:
安裝後可過phAdmin或dbever等資料庫管理工具來操作PostgreSQL
備註:
進入phAdmin需要輸入在安裝PostgreSQL時設定的master密碼。
Quick Links -> Add New Server
或
左方Browser -> Servers 點右鍵 -> Create -> Server
Name欄位:目前這個伺服器設定要顯示的名稱
Host: 填入localhost (本機)
左方Databases 點右鍵 -> Create -> Database
資料庫內存放資料的地方稱為Table,必須再建立Table才能開始存放資料,建立方式可以透過pgAdmin介面或是直接下SQL語法:
左邊Browsers -> Servers -> Databases -> {資料庫名稱} -> Schemas -> public -> Tables上點右鍵 -> Create -> Table
在{資料庫名稱}上點右鍵後選擇「Query Tool」,然後使用CREATE TABLE
指令,語法如下:
CREATE TABLE table_name (
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
···
);
例如要建立一個叫「google_trend」的Table,裡面有id
、title
、formattedTraffic
、relatedQueries
、image
、articles
、shareUrl
和date
欄位
CREATE TABLE google_trend (
id serial PRIMARY KEY,
title varchar(32),
formattedTraffic varchar(32),
relatedQueries text,
imageUrl varchar(1024),
articles text,
shareUrl varchar(1024),
fetch_date int
);
參考:
PostgreSQL資料型別:https://docs.postgresql.tw/the-sql-language/data-types
其實在此時,PostgreSQL 已經安裝完畢了,但沒有伺服器實體 (instance) 在運作。
以「系統管理員身分」執行"「命令提示字元」
cd "C:\Program Files\PostgreSQL\10\bin"
初始化伺服器實體
initdb -D c:\Users\Arthur\pgdata -U postgres -W -E UTF8 -A scram-sha-256
啟動伺服器
C:\Program Files\PostgreSQL\13\bin> pg_ctl -D c:\Users\{name}\pgdata -I c:\Users\{name}\logfile start
提示:
如果你看到了「waiting for server to start…Access is denied.」錯誤訊息,那可能是-I
參數後面指定的log檔案路徑有權限問題,把它改到其他地方即可,如範例中的:`c:\User{name}\logfile