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

数据库技巧
数据库删除完全重复和部分关键字段重复的记录
SQL服务器面临的危险和补救.读[十种方法]后感.
SQLite不支持Right Join的解决办法GROUP BY
mssql注入躲避IDS的方法
本地SQL注射攻略分析曝光
数据库 左连接 右连接 全连接用法小结
以前架征途时的合区的SQL语句代码备份
sql语句中where 1=1的作用
dba_indexes视图的性能分析
推荐Sql server一些常见性能问题的解决方法
带参数的sql和不带参数的sql存储过程区别
SQL语句详细说明[部分]
PostgreSQL8.3.3安装方法
三表左连接查询的sql语句写法
MSSQL自动同步设置方法
mssql数据同步实现数据复制的步骤
SQL嵌套查询总结
sql2005可实时监测数据库版本控制SQL的触发器
sql 中将日期中分秒化为零的语句
SQL 注入式攻击的本质

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 133 ::
收藏到网摘: 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可用。