Next Previous Contents

14. PostgreSQL 管理工具

14.1 PGACCESS - 管理 PostgreSQL 的 GUI 工具

PgAccess 是 PostgreSQL 的 Tcl/Tk 介面。它已經包括在 PostgreSQL 的發行套件中。你可能想從這網頁找出它有沒有新版本︰

pgaccess 的用法
# man xhost
# xhost +
# su - postgres
bash$ man pgaccess
bash$ export DISPLAY=<主機名>:0.0
bash$ pgaccess mydatabase

PgAccess 的特色

PgAccess 視窗—Main window, Table builder, Table(query) view, Visual query builder.

Tables

Queries

序列 (sequence)

函數 (Function)

將來還會有以下改進

有關 LIBGTCL 的資料

你會用到 PostgreSQL 到 Tcl 的介面程式庫 libpgtcl,所謂的 Tcl/Tk 可‘載入’模組。libpgtcl 和原始碼位於 PostgreSQL 的 /src/interfaces/libpgtcl 目錄。特定來說,你需要一個可在 Tcl/Tk‘載入’的 libpgtcl 程式庫。技術上來說,它和普通的 PostgreSQL 可載入目的檔並不相同,因為 libpgtcl 是一堆目的檔 (object files) 的集合。這檔案在 Linux 名為 libpgtcl.so。你可在以上網址下載一個為 Linux i386 系統預先編譯了的版本。只需把這檔案拷貝到系統程式庫目錄(/usr/lib) 即可。如有疑難,其中一個解決方法是刪除原始碼中有關載入 libpgtcl.so 的一句和使用 pgwish(或 wishpg)來載入 pgaccess.tcl,而非 wish,因為這 wish 已鏈結 libpgtcl 函式庫。

如果你在編譯 pgaccess 目錄時遇到 crypt not found 的問題,請使用 -lcrypt。

14.2 PostgreSQL 圖型介面查詢工具 GtkSQL

GtkSQL 是一個圖型介面查詢工具(像 PostgreSQL 的 psql)。它以 GNU GPL 發行。使用 Gtk+ 1.2.3 和 PostgreSQL 6.3 開發而成。

GtkSQL 的主網站為 http://gtksql.sourceforge.net

它的主要特色包括︰

  1. 多個 SQL 暫存區
  2. SQL 關鍵字、表格名稱和欄位自動完成
  3. 簡易顯示表格定義
  4. PostgreSQL 和 MySQL 支援(而且容易加上其他資料庫)
GtkSQL 目前的版本為 v. 0.3。你可在 https://sourceforge.net/project/?form_grp=533 下載原始碼。

14.3 視窗中的 PostgreSQL 互動式查詢工具(WISQL 或 MPSQL)

MPSQL 提供給使用者一個圖像 SQL 介面控制 PostgreSQL。MPSQL 與 Oracle 的 SQL Worksheet 或微軟 SQL Server 的查詢工具 WISQL 類似。它有一個漂亮的 GUI 和指令記錄。你也可以剪下及貼上。它還有其他有助提高生產力的功能。

14.4 名為 PSQL 的 PostgreSQL 互動式查詢工具(ISQL)

ISQL 是供文字指令行終端機使用的。這已包括在發行版本中,名為 psql。和 Sybase ISQL、Oracle SQLplus 十分相似。在 Unix 指令提示輸入‘psql’會出現 psql> 提示。

bash# su - postgres
bash$ man psql
bash$ psql mydatabase
打 \h 以閱讀指令的求助訊息
非常使用者友善和易用。 可在外框命令稿 (shell script) 中使用。

14.5 MPMGR—PostgreSQL 的資料庫管理工具

MPMGR 為 PostgreSQL 是供一個圖像管理介面。你可在以下地方找到它︰

14.6 PgAdmin、PhpPgAdmin 工具

14.7 PgBash - SQL shell 工具

PgBash 的功能類似 psql。而且,PgBash 使用 bash 的代號 (alias)、函數、歷史編輯創造出一個靈活的互動操作環境,提供有用的功能。

PgBash 的主網頁在 http://www.psn.co.jp/PostgreSQL/pgbash/index-e.html

PgBash 是一個包括 PostgreSQL“直接 SQL”或“嵌入式 SQL” ("direct SQL" or the "embedded SQL") 介面的 shell,籍改良 bash(目前最新版為 2.03)shell 而來。PgBash 可用作登入 shell、sub-shell(從 shell 啟動的 shell) 和 shell 程式。

在此,直接 SQL 有把結果直接輸出到標準輸出的能力。而嵌入式 SQL 有把提取出來的結果設定到 shell 變數的能力。它們則再經 shell 命令稿 (script) 語言處理。

SQL 語句(以分數作結束字完)被當作一個 shell 指令處理,我們可以執行 SQL 語句並用於管道 (pipeline)、改向和背景工作選項。此外,使用 exec_sql 指令,我們可用不同的選項來執行 SQL 語句。實際執行 SQL 的例子如下。


prompt> /usr/local/bin/pgbash                ……啟動 pgbash
pgbash> connect to db2@xxx.com user sakaida; ……連接到資料庫
pgbash> select * from test limit 100; | more ……使用管道
pgbash> select * from test; > /tmp/sel.dat & ……使用改向和背景工作
pgbash> addr='Osaka'
pgbash> insert into test values(
>  111,'name',                               ……可以換行
> '$addr'                                    ……使用 shell 變數
> );
pgbash> connect to db3@yyy.com user postgres;
pgbash> set connection db2;                  ……把目前的資料庫改為 db2
pgbash> select * from test;                  ……自 db2 的 test 表格選擇
pgbash> exec_sql -d db3 "select * from test3"……連接到 db3
pgbash> ls
pgbash> begin;
pgbash> declare cur cursor for select * from test;
pgbash> fetch in cur into :AA,:BB;           ……設定 shell 變數
pgbash> echo "AA=$AA, BB=$BB"
pgbash> end;
pgbash> fc fetch                             ……編輯歷史紀錄和執行
pgbash> !echo                                ……再次 echo
pgbash> disconnect all                       ……關閉所有連接
pgbash> exit                                 ……結束 pgbash

14.8 PostgreSQL 的 Webmin 工具

webmin 工具(透過可以是保安的網頁來管理 Unix 電腦)的最新版本(0.82 版)有一個 PostgreSQL 模組。你可使用這模組來新增用戶、群組、資料庫、表格,也可查閱表格。

你可在 http://www.webmin.com/webmin 找到 webmin。


Next Previous Contents