非安装版的PostgreSQL8.3.3的首次使用经历
第一次用Postgre,已經是好多年以前了,隱約記得是在linux下邊,build半天,然后手動配置庫文件之類。
今天在整理資料的時候發現,Postgre出現了解壓縮直接使用的版本,上邊注明了for expert only. 呵呵,看來,不推薦生手使用。
為了試驗一把,索性從它的官網上直接下載了一份postgresql-8.3.3-1-binaries-no-installer.zip
?
1. 將其解壓到d:/pgsql8.3.3
2. 設置環境變量,我不想直接添加,而是寫到了一個batch文件里,名為pgenv.bat
set PGHOME=d:/pgsql8.3.3
set PATH=%PGHOME%/bin;%path%
set PGHOST=localhost
set PGLIB=%PGHOME%/lib
set PGDATA=%PGHOME%/data
?
3.
??執行 pgenv.bat
? 然后:
D:/pgsql8.3.3/bin>initdb
屬于此數據庫系統的文件宿主為用戶 "******".
此用戶也必須為服務器進程的宿主.
數據庫簇將帶有 locale Chinese_People's Republic of China.936 初始化.
initdb: locale Chinese_People's Republic of China.936 requires unsupported encod
ing GBK
Encoding GBK is not allowed as a server-side encoding.
Rerun initdb with a different locale selection.
?
? 這上邊的意思好像是說不直接支持cp936, GBK,暈。于是,強制執行:
D:/pgsql8.3.3/bin>initdb --locale=zh_CN
initdb: 無效的 locale 名字 "zh_CN"
initdb: 無效的 locale 名字 "zh_CN"
initdb: 無效的 locale 名字 "zh_CN"
initdb: 無效的 locale 名字 "zh_CN"
initdb: 無效的 locale 名字 "zh_CN"
initdb: 無效的 locale 名字 "zh_CN"
屬于此數據庫系統的文件宿主為用戶 "hex".
此用戶也必須為服務器進程的宿主.
數據庫簇將帶有 locale Chinese_People's Republic of China.936 初始化.
initdb: locale Chinese_People's Republic of China.936 requires unsupported encod
ing GBK
Encoding GBK is not allowed as a server-side encoding.
Rerun initdb with a different locale selection.
?
還是不行,再換成下邊的:
D:/pgsql8.3.3/bin>initdb --locale=C
屬于此數據庫系統的文件宿主為用戶 "hex".
此用戶也必須為服務器進程的宿主.
數據庫簇將帶有 locale C 初始化.
默認的數據庫編碼已經相應的設置為 SQL_ASCII.
The default text search configuration will be set to "english".
創建目錄 d:/pgsql8.3.3/data ... 成功
creating subdirectories ... 成功
選擇默認最大聯接數 (max_connections) ... 100
selecting default shared_buffers/max_fsm_pages ... 32MB/204800
創建配置文件 ... 成功
在 d:/pgsql8.3.3/data/base/1 中創建 template1 數據庫 ... 成功
initializing pg_authid ... 成功
initializing dependencies ... 成功
創建系統視圖 ... 成功
loading system objects' descriptions ... 成功
創建字符集轉換 ... 成功
creating dictionaries ... 成功
對內建對象設置權限 ... 成功
創建信息模式 ... 成功
清理數據庫 template1 ... 成功
拷貝 template1 到 template0 ... 成功
copying template1 to postgres ... 成功
警告: 為本地連接啟動了 "trust" 認證.
你可以通過編輯 pg_hba.conf 更改或你下
次運行 initdb 時使用 -A 選項.
Success. You can now start the database server using:
??? "postgres" -D "d:/pgsql8.3.3/data"
or
??? "pg_ctl" -D "d:/pgsql8.3.3/data" -l logfile start
?
?
數據庫終于初始化完畢。
?
4. 啟動數據庫
D:/pgsql8.3.3/bin>pg_ctl start
server starting
D:/pgsql8.3.3/bin>日志:? 數據庫上次關閉時間為 2008-09-08 23:52:28 HKT
日志:? database system is ready to accept connections
日志:? autovacuum launcher started
錯誤:? 語法錯誤 在 "syncdb" 或附近的 第 1 個字符處
語句:? syncdb
??????? syncdb
??????? ;
錯誤:? 語法錯誤 在 "*" 或附近的 第 1 個字符處
語句:? *
??????? create table t(id int primary key, col2 varchar(32))
??????? /
??????? select * from t
??????? go
??????? ;
注意:? CREATE TABLE / PRIMARY KEY 將要為表 "t" 創建隱含索引 "t_pkey"
?
?
5. 用psql命令試建表:
D:/pgsql8.3.3/bin>createuser spring
Shall the new role be a superuser? (y/n) y
D:/pgsql8.3.3/bin>psql -U spring iihero
歡迎來到 psql 8.3.3,這是 PostgreSQL 互動式文字終端機。
鍵入: /copyright 顯示發行條款
?????? /h 顯示 SQL 命令的說明
?????? /? 顯示 pgsql 命令的說明
?????? /g 或者以分號(;)結尾以執行查詢
?????? /q 退出
iihero=# /d t
沒有找到任何名稱為 "t" 的關聯。
iihero=# create table t(id int primary key, col2 varchar(32));
注意:? CREATE TABLE / PRIMARY KEY 將要為表 "t" 創建隱含索引 "t_pkey"
CREATE TABLE
iihero=# insert into t values(1, 'iihero');
INSERT 0 1
iihero=# select * from t;
?id |? col2
----+--------
? 1 | iihero
(1 筆資料列)
iihero=# quit
iihero-# /q
?
終于簡單的配置完了,以后可以直接拿這個環境做些簡單的實驗了。
要想寫一些code,估計還有些問題,文檔里說,要求有VS2008 C Runtime庫,暈,還得裝這個東東。
?
再看看有沒有低版本的非安裝版的pgsql可用。
?
轉載于:https://www.cnblogs.com/mixer/archive/2008/09/09/2448926.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的非安装版的PostgreSQL8.3.3的首次使用经历的全部內容,希望文章能夠幫你解決所遇到的問題。