Chapter 15. 在 Windows 上安装

尽管 PostgreSQL 是为 Unix 类操作系统写的, C 的客户端库(libpq)和交互终端(psql)还是可以在 Windows 本地编译. 在 Postgres 里包含的 makefiles 是为 Microsoft Visual C++ 写的,很可能在其他系统里无法使用。 在其他情况下手工编译这个库应该是可能的。

提示: 如果你使用的是 Windows 98 或更新的 Windows 那么你可以用"Unix 方法"制作和使用所有 PostgreSQL, 不过你要先安装 Cygwin 工具。 请参阅 Chapter 14

要制作在Windows制作所有可能做的东西, 把目录改变到 src 目录,然后键入命令

nmake /f win32.mak

这里假设你的路径里有 Visual C++

制作将生成下面的文件:

interfaces\libpq\Release\libpq.dll

动态链接的前端库

interfaces\libpq\Release\libpqdll.lib

你的程序和libpq.dll链接的输入库

interfaces\libpq\Release\libpq.lib

前端库的静态库版本

bin\psql\Release\psql.exe

Postgresql 交互的 SQL 终端

唯一需要安装的文件是 libpq.dll 库。这个文件在大多数情况下应该放在 WINNT\SYSTEM32 目录里(或者在 Windows 95/98/ME 系统的 WINDOWS\SYSTEM 目录里)。 如果此文件是用一个 setup 程序安装的,那么它应该在安装前用文件里的 VERSIONINFO 资源检查版本, 以确保现有新版本的库不会被覆盖。

如果你准备在这台机器上使用libpq进行开发,你要把 src\includesrc\interfaces\libpq 目录加入到你的编译器设置的包含路径里。

要使用库,你必须把文件 libpqdll.lib增加到你的项目里( 在 Visual C++ 里, 只需要右键点击项目然后选择增加库)。

psql 是编译成一个"控制台应用"的。 因为 Windows 控制台窗口使用了与系统其它部分不同的编码,所以,你在 psql 的提示符里面使用 8 位的字符的时候必须采取特殊的步骤。如果 psql 检测到一个有问题的控制台代码页,那么它会在启动的时候警告你要修改控制台的代码页,必须干两件事: