免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4310 | 回复: 0
打印 上一主题 下一主题

PostgreSQL在Windows平台上的安装 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-01 14:44 |只看该作者 |倒序浏览
PostgreSQL在Windows平台上的安装

数据库版本
在目前,这一数据库的发行版本以8.2.4较为成熟,虽然8.3也已发布,但8.2.4瘕不掩瑜,操作远较7.x版本改观,特别是对多字节字符的比较,8.2.4版还是比较稳定的,而7.x版在这一点上比6.x退步了。
PostgreSQL的现有版本在不增加可供购买的商业应用包时,并不降低其使用价值,反而由于它的plpgsql包和C及ODBC接口的存在,使数据库系统在二次开发的过程中,可最大程度地保护已经投入的程序资产。

宿主平台
在Linux和类UNIX平台上,PostgreSQL8.2.4 比较适合 RedHat 的 AdvanceServer4和 Kylin2.1,这两个平台对于这一版本的PostgreSQL有最为接近的升级兼容性,两者的表示层都是BSD血统,使用的C库都在一个版本层中,系统的主要部分都很成熟,移植的问题基本上不存在。
对于Windows平台,目前典型的是2K和2K3,以及XP。在2K平台上兼容性极好,运行稳定,并且在数据库内部的操作与其它平台上的版本完全一致,这给数据库应用在不同平台之间的移植打下了良好的基础。

Windows平台安装实践
所选择的平台是Windows2K。安装过程和一般应用程序的安装差不多,根据自己的需要指定安装选项,没有过多的要求。安装完毕并启动后,做以下几件事:

1)写一个文本文件,并命名为“pgpass.conf”,内容为:
        localhost:5432:postgres:postgres:qazwsxedc
  其中“localhost”表示使用了UNIX域的Socket方式,这是为安全而考虑的。
  第二个字段是端口,第三个字段是数据库名,第四个字段是帐户名,第五个
  字段是口令。可以有多行,每行代表一个数据库帐户。

2)上述文件放到以下路径:
    C:\Documents and Settings\postgresql\Application Data\postgresql
  如果是不同的帐户,例如我使用的帐户是“campus”,那么路径为:
    C:\Documents and Settings\campus\Application Data\postgresql

3)打开ODBC数据源        --> 控制面板 --> 管理工具 --> ODBC数据源,在
  选项卡“用户DSN”中选择“添加”并打开,在列表中选择“PostgreSQL
  Unicode”并按“完成”。如果需要,也可以在选项卡“系统DSN”中按同一
  步骤添加。

4)在列表中选择“PosgreSQL30W”,打开“配置”窗口,依次填入必要的信
  息。在我的例子中,Database是“center”,Server是“Localhost”,
  Port是5432,UserName和Password根据自己的情况填写。

5)按“Test”按钮,对话窗出现,显示“Connect successful”,然后按
  “Save”保存并退出。

6)在VB、VC或是ASP中,按通常的方法选择数据源,这就完成了PostgreSQL在
  Windows系统上的全部安装过程。

我的应用数据库安装方法采用以文本文件的形式加上批处理过程来进行。关于建
库的一段语句如下:

select 'Create table space ...'
;
CREATE TABLESPACE campus_center                         -- 创建表空间
        OWNER campus
        LOCATION 'E:/cps/campus_center'
;

select 'Create database Center ... ...'
;
create database center                                  -- 创建数据库
        with        template = template0
                owner = campus
                tablespace = campus_center
                encoding = 'euc_cn'
;

select 'Create Procedural Language PL/pgSQL ...'
;
CREATE TRUSTED PROCEDURAL LANGUAGE 'plpgsql'            -- 注册使用的解释器
        HANDLER plpgsql_call_handler
        VALIDATOR plpgsql_validator
;

其中,在建库时一定要指定参数“encoding = 'euc_cn'”,否则在Windows
平台上会出现乱码。

批处理文件的内容大致如下:

@echo off
mem initdb.bat

mkdir E:\cps\campus_center
"D:\Program Files\PostgreSQL\8.2\bin\psql.exe"  -h localhost -p 5432 postgres "postgres" -f .\00_wincenter_make.sql > .\initwin.log 2> .\initwin2.log
... ...

命令“mkdir”建立一个操作系统目录,作为将要建立的应用所使用的表空间。注意第二条命令“psql.exe”使用了全路径,后面的语句都是在一行上,不可中断。命令使用文件“00_wincenter_make.sql”来创建数据库,产生的标准输出和标准错误分别向文件“initwin.log”和“initwin2.log”中写入,可用于建库过程中的诊断。后续语句可仿此办理,但输出换向符应由“>”改为“>>”,以追加信息到诊断日志尾部。

通常在诊断日志文件“initwin2.log”中找不到字符串“ERROR”时,可以认为应用数据库已经成功安装并运行了。


注意事项
如果在VB下使用PostgreSQL8.2.4,那么VB的版本要低于VS2005,否则接口不兼容。这也是所谓“.net”战略的排他性。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP