64 位 Windows 移植
来自 PostgreSQL wiki
跳转到导航跳转到搜索注意: 64 位 Windows 移植在 PostgreSQL 9.0 中引入。
64 位 Windows 移植
此页面用于收集信息并制定一个待办事项清单,以便最终生成 PostgreSQL 的 Win64 移植版本。由于通常没有理由在 Windows 上运行 shared_buffers 大于 256-512MB,因为超过这个值后效率不会提高,所以没有太多动力投入 64 位移植所需的努力。不过,也有一些原因
- 64 位应用程序可能需要 64 位 libpq.dll。
- 一些最终用户/客户喜欢在他们的 64 位机器上运行 64 位二进制文件所带来的温暖模糊的感觉。
- 用户可能希望使用自定义 C 函数,这些函数使用外部 64 位库。
- 用户可能希望使用使用 64 位解释器的过程语言。
- 迟早,微软可能会弃用他们的 32 位工具链。
- Magnus 在博客中解释了为什么 Win64 移植并不太紧急:http://swik.net/PostgreSQL/Planet+Postgresql/Magnus+Hagander:+PostgreSQL+vs+64-bit+windows
以下各小节列出了需要在广泛类别中解决的问题。
代码更改
- 构建系统
- 后端中使用的 datatypes(这里需要 *更多* 细节!)
支持库
我们需要这些支持库的 64 位版本,以避免关闭预期功能。
- MIT Kerberos - 目前的预期是完全放弃它,转而使用 SSPI
- OpenSSL - 来自 http://www.deanlee.cn/programming/openssl-for-windows/ 可获得非官方的 64 位版本
- Gettext - http://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/
- Iconv - http://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/,或参见 http://monetdb.cwi.nl/projects/monetdb/MonetDB/Documentation/Windows-Installation.html 以获取手动编译信息。Blender.org 上完全非官方的版本:https://svn.blender.org/svnroot/bf-blender/trunk/lib/win64/iconv/
- libxml2 - 参见 http://monetdb.cwi.nl/projects/monetdb/MonetDB/Documentation/Windows-Installation.html 以获取手动编译信息。
- libxslt
- zlib - http://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/,或参见 http://monetdb.cwi.nl/projects/monetdb/MonetDB/Documentation/Windows-Installation.html 以获取手动编译信息。Blender.org 上完全非官方的版本:https://svn.blender.org/svnroot/bf-blender/trunk/lib/win64/zlib/
- libxml2 和 libxslt 在 PHP-Windows-builds 中可用,位于 http://pecl2.php.net/downloads/php-windows-builds/php-libs/
提示:其他人也在寻找这些库,连接到 http://wiki.wireshark.org/Development/Win64
过程语言
- Perl - Activestate 包:http://www.activestate.com/activeperl/downloads/
- Python - 官方版本位于 https://www.pythonlang.cn/download/releases/2.5.4/,Activestate 2.5 版本位于 http://www.activestate.com/activepython/downloads/
- TCL - Jeff Hobbs(Tcl 之父)表示 Tcl 8.4.9 应该开箱即用地支持 AMD64 http://coding.derkeiler.com/Archive/Tcl/comp.lang.tcl/2005-05/msg00866.html