文章目錄
一、軟體包
1. zlib-1.2.5.tar.gz
2. postgresql-9.0beta2.tar.gz
二、安裝步驟
1. tar zxvf zlib-1.2.5.tar.gz
2. cd zlib-1.2.5
3. ./configure –prefix=/usr/local/zlib make make install
4. Tar zxvf postgresql-9.0beta2.tar.gz
5. Cd postgresql-9.0beta2
6. ./configure --with-libs=/usr/local/zlib/lib –with-includes=/usr/local/zlib/include –without-readline
7. Gmake
8. Su
9. Gmake install
10. Adduser postgres
11. Mkdir /usr/local/pgsql/data
12. Chown postgres /usr/local/pgsql/data
13. Su – postgres
14. /usr/local/pgsql/bin/initdb –D /usr/local/pgsql/data
15. /usr/local/pgsql/bin/postgres –D /usr/local/pgsql/data >logfile 2 >&1 &
16. /usr/local/pgsql/bin/created test
17. /usr/local/pgsql/bin/psql test
18. 安裝完成並建立test資料庫
三、附加
1. SELECT datname FROM pg_database;psql -l//顯示資料庫
2. SELECT spcname FROM pg_tablespace;//查看錶空間
3. /usr/local/pgsql/data/pg_hba.conf;//postgres資料庫設定檔
4. Table 24-1. 標準統計視圖
視圖名字 |
描述 |
pg_stat_activity |
每個伺服器處理序一行,顯示資料庫 OID,資料庫名,進程 ID,使用者 OID, 使用者名稱,當前查詢和當前查詢開始執行的時間, 進程啟動的時間和用戶端地址以及連接埠號碼。 只有在開啟 stats_command_string 參數的時候, 才能得到報告當前查詢的相關資訊的各個欄位。 另外,除非檢查這些欄位的使用者是超級使用者或者是擁有正在彙報的進程的同一個使用者,否則它們顯示為空白。 (請注意因為收集器的報告延遲,當前查詢只是對長時間啟動並執行查詢及時更新。) |
pg_stat_database |
每個資料庫一行,顯示資料庫 OID,資料庫名,與該資料庫連接的活躍伺服器處理序數, 提交的事務總數以及在該資料庫中復原數目的總數, 讀取的磁碟塊的總數,以及緩衝區命中的總數(也就是所需要的塊已經在緩衝區中找到, 從而避免了讀取塊的動作)。 |
pg_stat_all_tables |
當前資料庫中每個表一行(包括 TOAST 的表),表的 OID, 模式和表名字,發起的順序掃描的總數,順序掃描抓取的有生資料行的數目, 發起的索引掃描的總數(屬於該表的所有索引),索引掃描抓取的有生資料行的數目, 以及插入,更新,和刪除的行的總數。 |
pg_stat_sys_tables |
和 pg_stat_all_tables 一樣,只不過只顯示系統表。 |
pg_stat_user_tables |
和 pg_stat_all_tables 一樣,只不過只顯示使用者表。 |
pg_stat_all_indexes |
對當前資料庫的每個索引,輸入索引所在表和索引的 OID, 模式,表和索引名,包括使用了該索引的索引掃描總數, 索引掃描返回的索引記錄的數目,使用該索引的簡單索引掃描抓取的有生的表中資料行數。 |
pg_stat_sys_indexes |
和 pg_stat_all_indexes 一樣,只不過只包含那些顯示為系統資料表上的索引。 |
pg_stat_user_indexes |
和 pg_stat_all_indexes 一樣,只不過只包含那些顯示為使用者表上的索引。 |
pg_statio_all_tables |
當前資料庫中每個表一行(包括 TOAST 表),表的 OID,模式和表名, 包含從該表中讀取的磁碟塊總數,緩衝區命中的次數,在該表上所有索引的磁碟塊讀取和緩衝區命中總數, 在該表的輔助 TOAST 表(如果存在)上的磁碟塊讀取和緩衝區命中總數, 以及 TOAST 表的索引的磁碟塊讀取和緩衝區命中總數。 |
pg_statio_sys_tables |
和 pg_statio_all_tables 一樣,只不過只顯示系統表。 |
pg_statio_user_tables |
和 pg_statio_all_tables 一樣,只不過只顯示使用者表。 |
pg_statio_all_indexes |
當前資料庫中每個索引一行,包含表和索引 OID,模式, 表和索引名,該索引的磁碟塊讀取和緩衝區命中的數目。 |
pg_statio_sys_indexes |
和 pg_statio_all_indexes 一樣,只不過只顯示系統表。 |
pg_statio_user_indexes |
和 pg_statio_all_indexes 一樣,只不過只顯示使用者表。 |
pg_statio_all_sequences |
當前資料庫中每個序列對象一行,序列的 OID,模式和序列名, 序列磁碟讀取和緩衝區命中的數目。 |
pg_statio_sys_sequences |
和 pg_statio_all_sequences 一樣,只不過只顯示系統序列。 (目前我們沒有定義系統序列,所以這個視圖總是空的。) |
pg_statio_user_sequences |
和 pg_statio_all_sequences 一樣,只不過只顯示使用者序列。 |
Table 24-2. 統計訪問函數
函數 |
傳回型別 |
描述 |
pg_stat_get_db_numbackends(oid) |
integer |
處理資料庫的活躍的伺服器處理序數目。 |
pg_stat_get_db_xact_commit(oid) |
bigint |
資料庫中已提交事務數量。 |
pg_stat_get_db_xact_rollback(oid) |
bigint |
資料庫中回卷的事務數量 |
pg_stat_get_db_blocks_fetched(oid) |
bigint |
資料庫中磁碟塊抓取請求總數 |
pg_stat_get_db_blocks_hit(oid) |
bigint |
為資料庫在緩衝區中找到的磁碟塊抓取請求總數 |
pg_stat_get_numscans(oid) |
bigint |
如果參數是一個表,那麼就是進行的順序掃描的數目, 如果是一個索引,那麼就是索引掃描的數目。 |
pg_stat_get_tuples_returned(oid) |
bigint |
如果參數是一個表,那麼就是順序掃描讀取的元組數目, 如果是一個索引,那麼就是返回的索引元組的數目 |
pg_stat_get_tuples_fetched(oid) |
bigint |
如果參數是一個表,那麼就是位元影像掃描抓取的表元行數目, 如果是一個索引,那麼就是用簡單索引掃描抓取的有效表元組數目 |
pg_stat_get_tuples_inserted(oid) |
bigint |
插入表中的元組數量 |
pg_stat_get_tuples_updated(oid) |
bigint |
在表中已更新的元組數量 |
pg_stat_get_tuples_deleted(oid) |
bigint |
從表中刪除的元組數量 |
pg_stat_get_blocks_fetched(oid) |
bigint |
表或者索引的磁碟塊抓取請求的數量 |
pg_stat_get_blocks_hit(oid) |
bigint |
在緩衝區中找到的表或者索引的磁碟塊請求數目 |
pg_stat_get_backend_idset() |
setof integer |
當前活躍伺服器編號的集合(從 1 到活躍後端的數目)。 參閱文本中的使用範例。 |
pg_backend_pid() |
integer |
附著在當前會話上的伺服器處理序 ID |
pg_stat_get_backend_pid(integer) |
integer |
給出的伺服器處理序的進程號 |
pg_stat_get_backend_dbid(integer) |
oid |
指定伺服器處理序的資料庫 ID |
pg_stat_get_backend_userid(integer) |
oid |
指定伺服器處理序的使用者識別碼 |
pg_stat_get_backend_activity(integer) |
text |
伺服器處理序的當前活躍查詢(如果調用者不是超級使用者,或者不是與被查詢的會話同一個使用者, 或者沒有開啟 stats_command_string 則為 NULL) |
pg_stat_get_backend_activity_start(integer) |
timestamp with time zone |
指定伺服器處理序當前正在執行的查詢的起始時間(如果目前使用者不是超級使用者,或者 不是與被查詢的會話同一個使用者,或者沒有開啟 stats_command_string 則為 NULL) |
pg_stat_get_backend_start(integer) |
timestamp with time zone |
給出的伺服器處理序啟動的時間,如果目前使用者不是超級使用者,也不是被查詢的後端的同一個使用者,則為控。 |
pg_stat_get_backend_client_addr(integer) |
inet |
串連到給定伺服器的用戶端的 IP 位址。如果串連是建立在 Unix 域通訊端上的,那麼為空白。 如果目前使用者不是超級使用者,也不是被查詢的會話的使用使用者,也為空白。 |
pg_stat_get_backend_client_port(integer) |
integer |
串連到給定伺服器的用戶端的 IP 連接埠。如果串連是建立在 Unix 域通訊端上的,那麼為 -1。 如果目前使用者不是超級使用者,也不是被查詢的會話的使用使用者,為空白。 |
pg_stat_reset() |
boolean |
重設所有當前收集的統計。 |
Table 8-1. 資料類型
名字 |
別名 |
描述 |
bigint |
int8 |
有符號 8 位元組整數 |
bigserial |
serial8 |
自增八位元組整數 |
bit [ (n) ] |
|
定長位串 |
bit varying [ (n) ] |
varbit |
變長位串 |
boolean |
bool |
邏輯布爾量 (真/假) |
box |
|
平面中的長方形 |
bytea |
|
位元據("位元組數組") |
character varying [ (n) ] |
varchar [ (n) ] |
變長字串 |
character [ (n) ] |
char [ (n) ] |
定長字串 |
cidr |
|
IPv4 或者 IPv6 網路地址 |
circle |
|
平面中的圓 |
date |
|
日曆日期(年,月,日) |
double precision |
float8 |
雙精確度浮點數字 |
inet |
|
IPv4 或者 IPv6 網路地址 |
integer |
int,int4 |
四位元組長有符號整數 |
interval [ (p) ] |
|
時間間隔 |
line |
|
平面中的無限長直線 |
lseg |
|
平面中的線段 |
macaddr |
|
MAC 位址 |
money |
|
貨幣金額 |
numeric [ (p, s) ] |
decimal [ (p, s) ] |
可選精度的準確數字 |
path |
|
平面中的幾何路徑 |
point |
|
平面中的點 |
polygon |
|
平面中的封閉幾何路徑 |
real |
float4 |
單精確度浮點數 |
smallint |
int2 |
有符號兩位元組整數 |
serial |
serial4 |
自增四位元組整數 |
text |
|
變長字串 |
time [ (p) ] [ without time zone ] |
|
一天裡的時間 |
time [ (p) ] with time zone |
timetz |
一天裡的時間,包括時區 |
timestamp [ (p) ] [ without time zone ] |
|
日期和時間 |
timestamp [ (p) ] with time zone |
timestamptz |
日期和時間 |