PostgreSQL 採用 BSD 版權協議發佈,允許您在商業或非商業應用的兩種環境下均享有自由取得且不受版權限制的自主使用權甚至延伸功能。
BSD授權協議是所有開源程式碼授權協議中最自由不受任何限制用途的版權宣告, 您永遠都不必擔心 PostgreSQL 被特定的公司所控制, 您不需要購買權權, 就如同當今的 GNU/Linux 一樣, 在您擁有開放源始碼的同時, 其高可用性的品質只有不斷提升而沒有下降過, 甚至您可以將 PostgreSQL 包在您的產品並出售, 更可以任意的加諸和修改功能
資料來源:PostgreSQL 中文
mark528 發表在 痞客邦 留言(0) 人氣(226)
當真的忘了PostgreSQL super user password的時候,可依照下列步驟來重新設定密碼:
1. 確認可以從本機免密碼登入資料庫。
修改 pg_hba.conf,找到local這一行,將其改成trust
local all all trust
2. 重啟PostgreSQL
# su - postgres
# pg_ctl reload
3. 重設密碼
$ psql -U postgres
SQL> ALTER USER postgres PASSWORD 'YourPassword';
4. 為了安全起見,修改pg_hba.conf回原設定,並重啟PostgreSQL
mark528 發表在 痞客邦 留言(0) 人氣(11,149)
pg_ctl 是一個用於啟動、停止, 或重啟 PostgreSQL 後端伺服器,及顯示伺服器的狀態的工具。
Synopsis
pg_ctl start | stop | reload | status | restart [-D data_dir]
-D data_dir
聲明該資料庫文件的文件系統位置。 如果忽略這個選項,使用環境變量 PGDATA。
Note: 使用此命令前,請先將使用者切換至PostgreSQL super user(postgres)。
啟動伺服器:
$ pg_ctl start
停止伺服器:
$ pg_ctl stop
重啟伺服器:
$ pg_ctl restart
顯示伺服器狀態:
$ pg_ctl status
pg_ctl: postmaster is running (pid: 15718)
Command line was:
/usr/bin/postmaster '-D' '/var/lib/pgsql/data' '-p' '5433' '-B' '128'
mark528 發表在 痞客邦 留言(0) 人氣(4,783)
在CentOS安裝PostgreSQL最簡單的方式就是在安裝CentOS時,勾選安裝PostgreSQL。如果在安裝過程並沒有安裝PostgreSQL,可以透過下列步驟來將PostgreSQL安裝設定完成。
1. 事先準備
2. 安裝 PostgreSQL
3. 第一次啟動
4. 設定成開機啟動PostgreSQL
5. 修改設定檔(pg_hba.conf)
6. 重啟PostgreSQL
mark528 發表在 痞客邦 留言(0) 人氣(12,134)
一般資料庫在使用一段時間後,隨著資料庫操作和資料越來越多,資料庫的儲存空間就會慢慢的增加,如果不適當的管理,最後會演變成一隻超吃空間的怪獸。
而一般的PostgreSQL SQL操作,如update或delete,這些資料的位元組,並沒有真正的被刪除,如不適當的回收,整個資料庫會虛胖到一個讓人無法接受的程度。
要如何知道資料庫的儲存的空間大小,PostgreSQL透過下列語法可以查詢資料庫所佔用的位元組:
postgres=> SELECT datname, pg_size_pretty(pg_database_size(datname)) as size FROM pg_database\g
datname | size
--------------+---------
postgres | 3537 kB
template1 | 3480 kB
template0 | 3480 kB
(4 行)
PostgreSQL提供 VACUUM 指令來回收垃圾儲存空間。
1. 建議平常定時使用 VACUUM 不帶任何參數,來進行簡單的回收空間令其可再次使用。
2. 有特殊大量資料新增或長時間定期維護時,使用 VACUUM FULL來做完全清理的動作,會耗費較長的時間來回收垃圾空間。
Note:VACUUM期間會lock table,會導致無法存取。
mark528 發表在 痞客邦 留言(0) 人氣(3,076)
PostgreSQL的最大連線數是設定在postgresql.conf檔案內(預設存放位置為/var/lib/pgsql/data/),max_connections的預設值為100,每增加一個connection,則需增加400bytes 的shared memory。
至於要如何查詢PostgreSQL的連線數,請用下列sql語法:
SELECT datname, count(*) FROM pg_stat_activity GROUP BY datname;
查詢結果類似如下:
mark528 發表在 痞客邦 留言(0) 人氣(1,133)