在 Windows 中编译 PostgreSQL 和 pgInstaller
PostgreSQL wiki
跳转到导航跳转到搜索简介
该指南用来编译 PostgreSQL 和生成西班牙语安装程序(在 Windows 下)。更多信息请参见
这些步骤已在 Windows XP SP2(2600)西班牙语版(阿根廷)中得以验证。
要求
- 安装 VC++ 2005 快捷版
- 安装 Active Perl
- 安装 Microsoft Platform SDK
- 安装 Wix
- 安装对应的其他依赖项
- OpenSSL(用于 SSL 连接)
- Kerberos(用于验证)
- Gettext 和 iconv(用于 NLS)
- Python 2.5(用于 pl/python)
- TCL(用于 pl/tcl)
- XML2、XSLT 等(用于 xml)
- ZLib(用于压缩转储)
- 等
- 下载并编译 Windows 安装程序中的附加功能
- PgAdmin3
- StackBuilder
- PlJava
- pldebugger
生成 PostgreSQL 和 PgInstaller 的步骤
- 创建一个 c:\pgBuild 目录
- 创建一个 c:\pgBuild\BuildTrees 目录
- 下载 postgresql 的源代码 (tar.bz2),将其解压缩到 c:\pgBuild\BuildTrees\pgsql
- 从 cvs 中下载安装程序的源代码,保存到 c:\pgBuild\BuildTrees\pginst-8.3
- 找到安装程序 ZIP 文件中的 vcredist_x86.exe 文件,将其复制到 c:\pgBuild\vcredist_x86 文件夹
编译 PostgreSQL 的步骤
- 编辑 c:\pgBuild\BuildTrees\pgsql\src\tools\msvc\config.pl 文件,并启用/禁用要编译的功能(对于安装程序,应编译所有功能)。
- 启动“Visual Studio 2005 命令提示符”
cd c:\pgBuild\BuildTrees\pgsql\src\tools\msvc\ build install c:\pgBuild\pginst-8.3\pgsql
- 编译帮助(在 Unix 中),使用 Html Help Workshop(在 Windows 中)对其进行处理,并将其复制到 pgsql\doc\htmlhelp.chm
生成 PgInstaller 的步骤
- 将 paths.projinc.in 复制到 pginst-8.3 中的 paths.projinc,并更改以下行
<WixDir>C:\Archivos de Programa\Windows Installer XML v3\bin</WixDir> <PKGDIR>$(PGBUILD)\pginst-8.3</PKGDIR> <MSVCMSMS>C:\Archivos de Programa\Archivos Comunes\Merge Modules</MSVCMSMS> <MSVCREDIST>C:\pgbuild\vcredist_x86</MSVCREDIST>
- 编译并安装 PostgreSQL(前一步骤)
- 更新添加的包(pgAdmin、plDebugger、plJava、!StackBuilder)
- 启动“Visual Studio 2005 命令提示符”
cd c:\pgBuild\BuildTrees\pginst-8.3 msbuild /t:clean msbuild
解决方案:
- 无法加载 VCProjEngine.DLL:复制本地化的 dll(适用于西班牙语,将 vcpackages\3082\*.dll vcpackages 复制到 visual studio 文件夹中)(了解更多)
- 找不到 vjslib.dll:安装 Visual J# Redistributable(了解更多)
- “windows.h”:没有此类文件或目录:安装 Microsoft Platform SDK,并更新 vsvars32.bat 中的路径(在 visual studio 的 common\bin 文件夹中)
@set PATH=...;%PATH%;C:\Archivos de programa\Microsoft SDKs\Windows\v6.1\Bin @set INCLUDE=...;%INCLUDE%;C:\Archivos de programa\Microsoft SDKs\Windows\v6.1\Include @set LIB=...;%LIB%;C:\Archivos de programa\Microsoft SDKs\Windows\v6.1\Lib
在 Linux 中编译 PostgreSQL
从源码
- 从 mirrors 下载源码并解压缩,本例使用版本 8.3.3,其中
tar -xvzf postgresql-8.3.3.tar.gz
- 在 Centos(C 编译器、链接器、开发库)、Debian 和 Ubuntu 中编译前,需要先安装 build-essential 以及另外两个库 libreadline5-dev zlib1g-dev)
apt-get install libreadline5-dev zlib1g-dev build-essential
对于 Centos
yum install bison gcc
- INSTALL 文件包含以下具体说明,用于从源码进行安装
./configure gmake su gmake install adduser postgres --crea el usuario postgres mkdir /var/lib/pgsql/data --crea la carpeta de los datos chown postgres /var/lib/pgsql/data --otorga privilegios a postgres sobre los datos su - postgres /usr/local/pgsql/bin/initdb -D /var/lib/pgsql/data --inicializa el cluster /usr/local/pgsql/bin/postgres -D /var/lib/pgsql/data >logfile 2>&1 & /usr/local/pgsql/bin/createdb test -- crea base de datos de prueba /usr/local/pgsql/bin/psql test --abre la base de datos de prueba
请注意,数据库可以放置在其他位置,例如建议将其放在 /var 中而不是 /usr 中 ,这会改变第 6、7、9 和 10 行,即把 /usr 替换为 /var。
- 应复制该文件以启动自动服务,作为超级用户
cp contrib/start-scripts/linux /etc/init.d/postgresql chmod 710 /etc/init.d/postgresql update-rc.d postgresql start 45 S . start 20 1 2 3 . stop 30 4 5 . chkconfig postgresql on --para Centos