当前位置: 首页 > 图文教程 > 数据库 > 数据库技巧 > PostgreSQL8.3.3安装方法

数据库技巧
执行Insert Exec时的隐藏开销 分析
datastage server job之dsjob 命令
sql Union和Union All的使用方法
对分区表进行alter-switch时遇到的错误
sql left join 命令详解
sql 插入数据的三种常用方法及小贴士
SQL 优化经验总结34条
数据库 SQL千万级数据规模处理概要
数据库分页查询方法
postgres 数据库中的数据转换
ORACLE 系统函数大全SQLSERVER系统函数的异同
数据库 三范式最简单最易记的解释
主键与聚集索引
数据库触发器(Trigger)的一点使用心得
postgresql sql批量更新记录
sql join on 用法
SQL 按特定字段值排序
jdbc 数据库的连接(sqlserver oracle)
让你的insert操作速度增加1000倍的方法
数据库 关系连接

数据库技巧 中的 PostgreSQL8.3.3安装方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 137 ::
收藏到网摘: n/a

非安装版的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

非安装版的PostgreSQL8.3.3的首次使用经历第一次用Postgre,已经是好多年以前了,隐约记得是在linux下边,build半天,然后手动配置库文件之类。
数据库终于初始化完毕。
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可用。