這節會幫你在小於五分鐘內快速安裝和啟動這資料庫。
安裝、測試、確認和執行 PostgreSQL 的步驟 以 root 身份簽入
# cd /mnt/cdrom/RedHat/RPMS # man rpm # ls postgre*.rpm # rpm -qpl postgre*.rpm | less (觀看檔案名單) # rpm -qpi postgre*.rpm (觀看套件資料) # cat /etc/passwd | grep postgres
: # rpm -i postgre*.rpm (必須安裝所有套件,即客戶端、開發、資料和主套件來使 pgaccess 正常工作) # man chkconfig # chkconfig --add postgresql (用來在開機時開始 pg。) # /etc/rc.d/init.d/postgresql start (啟動 postgresql) # man xhost # xhost + (讓 pgaccess 使用顯示裝置) # su - postgres bash$ man createdb bash$ createdb mydatabase bash$ man psql bash$ psql mydatabase ……在 psql 中可按上 / 下箭咀來編輯歷史記錄或 \s bash$ export DISPLAY=<主機名>:0.0 bash$ man pgaccess bash$ pgaccess mydatabase
bash$ cd /usr/doc/postgresql*
此外,請看 http://www.ramifordistat.net/postgres 的 "Installation Steps"。
PostgreSQL RPM 由 Lamar Owen 維護,位於 lamar.owen@wgcr.org 在 http://www.postgresql.org 可找到更多 PostgreSQL 的資料。
熟習 RedHat RPM 套件管理員以管理 PostgreSQL 安裝。在 http://www.RPM.org 下載‘Maximum RPM’一書,找尋檔名 maximum-rpm.ps.gz。 在 Linux 使用 gv 指令閱讀它—
# gv maximum-rpm.ps.gz
測試 PostgreSQL 的各種介面需要例子。從以下地方安裝 PostgreSQL 例子目錄—
安裝 examples 套件,請參閱 例子 RPM,之後—
bash$ cd /usr/lib/pgsql/python bash$ createdb thilo bash$ psql thilo thilo=> create table test (aa char(30), bb char(30) ); thilo=> \q bash$ /usr/bin/python >>> import _pg >>> db = _pg.connect('thilo', 'localhost') >>> db.query("INSERT INTO test VALUES ('ping', 'pong')") >>> db.query("SELECT * FROM test") eins|zwei ----+---- ping|pong (1 row) >>>CTRL+D bash$ ……好像行了—現在正式安裝它 bash$ su - root # cp /usr/lib/pgsql/python/_pg.so /usr/lib/python1.5/lib-dynload
安裝 examples 套件,請參閱 例子 RPM,之後—
root# chown -R postgres.postgres /var/lib/pgsql/examples bash$ cd /var/lib/pgsql/examples/perl5 bash$ perl ./example.pl
bash$ perl -I/usr/lib/perl5/site_perl/5.004/i386-linux-thread ./example.pl
要使用 perl 介面,請參閱 example.pl 檔。
安裝 examples 套件,請參閱 例子 RPM,之後—
root# chown -R postgres.postgres /var/lib/pgsql/examples bash$ cd /var/lib/pgsql/examples/libpq bash$ gcc testlibpq.c -I/usr/include/pgsql -lpq bash$ export PATH=$PATH:. bash$ a.out bash$ cd /var/lib/pgsql/examples/libpq++ bash$ g++ testlibpq0.cc -I/usr/include/pgsql -I/usr/include/pgsql/libpq++ -lpq++ -lpq -lcrypt bash$ ./a.out (注意︰不須理會錯誤訊息—如下) > create table foo (aa int, bb char(4)); No tuples returned... status = 1 Error returned: fe_setauthsvc: invalid name: , ignoring... > insert into foo values ('4535', 'vasu'); No tuples returned... status = 1 Error returned: fe_setauthsvc: invalid name: , ignoring... > select * from foo; aa |bb | -----|-----| 4535 |vasu | Query returned 1 row. > >CTRL+D bash$
安裝 examples 套件,請參閱 例子 RPM 和安裝以下東西。
root# chown -R postgres.postgres /var/lib/pgsql/examples bash$ cd /var/lib/pgsql/examples/jdbc bash$ echo $CLASSPATH --> 應顯示 CLASSPATH=/usr/lib/pgsql/jdbc7.0-1.2.jar:.:/home/java/jdk1.2.2/lib:/usr/lib/pgsql:/usr/lib/pgsql/classes.zip:/usr/lib/pgsql/pg.jar 而 jdbc*.jar 的版本號碼要正確。 *.jar 檔要放在 /usr/lib/pgsql 和 /usr/libjdk*/lib 目錄中。 bash$ export CLASSPATH=/usr/lib/pgsql/jdbc7.0-1.2.jar:.:/home/java/jdk1.2.2/lib:/usr/lib/pgsql:/usr/lib/pgsql/classes.zip:/usr/lib/pgsql/pg.jar 編輯所有 psql.java 檔,把‘package’的行變為評論。 bash$ javac psql.java bash$ java psql jdbc:postgresql:template1 postgres < password >[1] select * from pg_tables; tablename tableowner hasindexes hasrules pg_type postgres true false false pg_attribute postgres true false false [2] CTRL+C bash$
安裝 examples 套件,請參閱 例子 RPM,之後—
root# chown -R postgres.postgres /var/lib/pgsql/examples bash$ cd /var/lib/pgsql/examples/ecpg bash$ ecpg test1.pgc -I/usr/include/pgsql bash$ cc test1.c -I/usr/include/pgsql -lecpg -lpq -lcrypt bash$ createdb mm bash$ ./a.out
安裝 examples 套件,請參閱 例子 RPM,之後—
root# chown -R postgres.postgres /var/lib/pgsql/examples bash$ cd /var/lib/pgsql/examples/sql 未寫好…
Tck/Tk 的例子是 pgaccess 程式。 使用一個文字編輯器閱讀 /usr/bin/pgaccess 檔案—
bash$ view /usr/bin/pgaccess bash$ export DISPLAY=<你電腦的主機名>:0.0 bash$ createdb mydb bash$ pgaccess mydb
在 http://www.mutinybaysoftware.com 取得 RPM。
要確認 PostgreSQL 的高品質,執行 Regression 測試套件︰ 以 root 身份簽入
# rpm -i postgresql*test.rpm 閱讀 README 檔或安裝源程式,它已有 regress 目錄 # rpm -i postgresql*.src.rpm # cd /usr/src/redhat/SPECS # more postgresql*.spec (以察看需要安裝哪些 RPM 套件) # rpm -bp postgresql*.spec (…這樣會準備該套件) Regression 測試需要 Makefiles 和類似 *fmgr*.h 的標頭檔,可用以下指令 產生— # rpm --short-circuit -bc postgresql*.spec (走捷徑!) 看到‘make -C common SUBSYS.o’後按 CTRL-C 終止工作。這時候 configure 已經成功,所有 Makefiles 和標頭檔也已產生。你不再需要讓它繼續下去。 # cd /usr/src/redhat/BUILD # chown -R postgres postgresql* # su - postgres bash$ cd /usr/src/redhat/BUILD/postgresql-6.5.3/src/test/regress bash$ more README bash$ make clean; make all runtest bash$ more regress.out
有時除錯嵌補會在主要的推出 PostgreSQL 的主要版本之後出現。你可依據自己需要,自行進行修補。請跟從以下步驟︰ 到 postgresql 程式碼的目錄
# rpm -i postgresql*.src.rpm
# cd /usr/src/postgresql6.5.3
# man patch
# patch -p0 < patchfile
# make clean
# make
嵌補檔是在