<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 16.1\. 用Visual C++或Microsoft Windows SDK編譯 PostgreSQL可以使用微軟的Visual C++編譯器套件來編譯。 這些編譯器可以是Visual Studio, Visual Studio Express或者某些版本的Microsoft Windows SDK。 如果沒有安裝Visual Studio的環境, 最簡單的方法是使用Windows SDK 7.1或者Visual Studio Express 2012 for Windows Desktop中的編譯器, 它們都可以從微軟官網免費下載。 PostgreSQL支持從Visual Studio 2005到Visual Studio 2012(包括精簡版)的編譯器, 以及6.0到7.1版本的獨立的Windows SDK編譯器。 64位的PostgreSQL只支持6.0a到7.1版本的Microsoft Windows SDK和Visual Studio 2008及其以上版本。 用Visual C++或Platform SDK編譯的工具在`src/tools/msvc`目錄下。 編譯時,確保系統路徑下沒有包含MinGW或Cygwin的工具,同時所需要的Visual C++工具在系統路徑下是可用的。 在Visual Studio中,啟動Visual Studio Command Prompt。 如果需要編譯64位的版本,使用64位版本的命令,反之亦然。在Microsoft Windows SDK中, 從開始菜單中SDK下的列表啟動CMD shell。在最新版的SDK中, 你可以使用`setenv`等命令來更改目標的CPU架構,編譯類型和操作系統類型。 指令`setenv /x86 /release /xp`用來編譯Windows XP或更新的32位版本。 使用`/?`命令可以查看`setenv`的其它用法。 所有命令都應該在`src\tools\msvc`目錄下運行。 在編譯前,根據需要修改`config.pl`中相應選項和使用到的第三方庫的路徑。 完整的配置由首先讀取和解析的`config_default.pl`決定,然后從`config.pl`獲取變更。 例如,為了指定Python的安裝路徑,在`config.pl`文件中添加以下語句: ``` $config->{python} = 'c:\python26'; ``` 只需要指定和`config_default.pl`文件中有差別的參數。 如果需要指定其它的環境變量,創建一個`buildenv.pl`文件并寫入所需要的命令。 例如,為了在PATH中添加一個還不存在的bison變量,創建一個文件包含以下內容: ``` $ENV{PATH}=$ENV{PATH} . ';c:\some\where\bison\bin'; ``` ## 16.1.1\. 要求 編譯PostgreSQL還需要以下幾個工具。 使用`config.pl`文件來指定這些庫的路徑。 Microsoft Windows SDK 如果編譯環境不兼容所支持的Microsoft Windows SDK版本, 建議把SDK的版本升級到最新的版本(目前為7.1版本),下載地址為[http://www.microsoft.com/downloads/](http://www.microsoft.com/downloads/)。 在SDK中,必須要保證包含Windows Headers and Libraries這部分內容。 如果安裝的Windows SDK中已經包含了Visual C++ Compilers, 就不再需要使用Visual Studio進行編譯了。 注意Windows SDK 8.0a之后的版本不再附有完整的命令行編譯環境。 ActiveState Perl ActiveState Perl用于編譯生成腳本,而MinGW或Cygwin的Perl則不起作用。 同樣,它的路徑也要添加到系統路徑中。二進制文件下載地址為[http://www.activestate.com](http://www.activestate.com) (注意: 必須使用5.8或者更新的版本, 免費的標準版既可)。 下面的工具在開始時是不需要的,但是對于完整的包的編譯是必須的。 使用`config.pl`文件來指定這些庫的路徑。 ActiveState TCL 用于編譯PL/TCL(注意:要求8.4版本, 免費的標準版既可)。 Bison and Flex Bison and Flex用來從GIT進行編譯,對于發行版文件的編譯是不需要的。 Bison需要1.875或2.2及更新版本。Flex需要使用2.5.31或更新版本。 Bison and Flex包含在msys工具套件內。 作為MinGW編譯器套件的一部分,msys可以從[http://www.mingw.org/wiki/MSYS](http://www.mingw.org/wiki/MSYS)下載。 同時作為msysGit的一部分,msys也可以從[http://git-scm.com/](http://git-scm.com/)下載。 在`buildenv.pl`中,需要把包含`flex.exe`和`bison.exe`的目錄添加到系統路徑中, 除非它們已經存在于系統路徑中。對于MinGW, 要把MinGW安裝目錄的子目錄路徑`\msys\1.0\bin`添加到系統路徑中。 對于msysGit,要把Git安裝目錄下的`bin`目錄添加到系統路徑中。不要添加MinGW編譯工具本身的目錄到系統路徑中。 > **Note:** GnuWin32中的Bison存在一個bug,當文件安裝的路徑中含有空格的時候,會導致Bison出現故障。 例如,用英文安裝時的默認路徑`C:\Program Files\GnuWin32`時會出現上述問題,解決辦法是安裝在類似`C:\GnuWin32`這樣的目錄, 或者在GnuWin32的環境變量PATH中使用NTFS短名稱路徑(例如`C:\PROGRA~1\GnuWin32`)。 > **Note:** 在PostgreSQL FTP上的winflex是舊的二進制版本,在64位Windows主機上執行時, 會報"flex: fatal internal error, exec failed"的錯誤。可以使用msys中的flex來替代以避免這個問題。 Diff Diff用于進行回歸測試,可以從[http://gnuwin32.sourceforge.net](http://gnuwin32.sourceforge.net)下載。 Gettext Gettext用于編譯NLS支持,可以從[http://gnuwin32.sourceforge.net](http://gnuwin32.sourceforge.net)下載。 需要注意的是二進制,依賴項和開發文件都需要。 MIT Kerberos MIT Kerberos 用于提供Kerberos認證支持,可以從[http://web.mit.edu/Kerberos/dist/index.html](http://web.mit.edu/Kerberos/dist/index.html)下載。 libxml2 and libxslt libxml2和libxslt用于提供XML支持。可以從[http://zlatkovic.com/pub/libxml](http://zlatkovic.com/pub/libxml)下載二進制文件, 也可以從[http://xmlsoft.org](http://xmlsoft.org)下載源代碼。需要注意,libxml2需要iconv,也在上面的地址下載。 openssl openssl用于提供SSL支持。可以從[http://www.slproweb.com/products/Win32OpenSSL.html](http://www.slproweb.com/products/Win32OpenSSL.html)下載二進制文件, 或者在[http://www.openssl.org](http://www.openssl.org)下載源代碼。 ossp-uuid ossp-uuid用于提供UUID-OSSP支持(僅用于contrib)。可以從[http://www.ossp.org/pkg/lib/uuid/](http://www.ossp.org/pkg/lib/uuid/)下載。 Python Python用于編譯PL/Python。可以從[http://www.python.org](http://www.python.org)下載。 zlib zlib用于為pg_dump和pg_restore提供壓縮支持。可以從[http://www.zlib.net](http://www.zlib.net)下載二進制文件。 ## 16.1.2\. 針對64位Windows的注意事項 PostgreSQL的X64架構只能在64位Windows系統上編譯,不支持安騰處理器。 同一個編譯樹上不支持32位和64位的混編。編譯系統能自動檢測平臺環境是32位或64位, 并編譯出對應版本。因此,在編譯前啟動正確的命令行很重要。 在服務器端使用python或openssl這樣的第三方庫,_必須_是64位的。64位服務器上不支持對32位庫的加載。 一些第三方庫只支持32位的PostgrSQL,這種情形下,它們不能用在64位的PostgreSQL上。 ## 16.1.3\. 編譯 使用發行版配置(默認)來編譯完整的PostgreSQL,運行命令: ``` <kbd class="literal">build</kbd> ``` 使用調試配置來編譯完整的PostgreSQL,運行命令: ``` <kbd class="literal">build DEBUG</kbd> ``` 只編譯單個項目,例如psql,運行命令: ``` <kbd class="literal">build psql</kbd> <kbd class="literal">build DEBUG psql</kbd> ``` 要將默認的編譯配置改為調試配置,需要在`buildenv.pl`文件中加入下面的內容: ``` $ENV{CONFIG}="Debug"; ``` 也可以Visual Studio的圖形化界面來編譯,這時需要在命令行中運行: ``` <kbd class="literal">perl mkvcbuild.pl</kbd> ``` 然后在Visual Studio中打開`pgsql.sln`文件(從資源樹的根目錄)。 ## 16.1.4\. 清除和安裝 大多數時候,Visual Studio會自動追蹤所依賴的文件的改動。但是當有大量改動的的時候,可能需要清除安裝。 要做到這一點,只需簡單的運行`clean.bat`,它將自動的清除生成的相關文件。 也可以在運行時添加`dist`參數,它的行為和&lt;kbd class="literal"&gt;make distclean&lt;/kbd&gt;命令比較相似,同時會清除flex/bison的輸出文件。 默認情況下,所有的文件都會寫在`debug`或`release`目錄的一個子目錄下面。要使用標準設置安裝這些文件, 初始化這些生成的文件并使用數據庫,運行命令: ``` <kbd class="literal">install c:\destination\directory</kbd> ``` ## 16.1.5\. 運行回歸測試 要運行回歸測試,首先確保已經完成所需的編譯。同時,確保用來加載系統所有部分(例如程序語言Perl和Python的DLLs)的DLLs已經在系統路徑中存在。 如果沒有,通過`buildenv.pl`文件來設置。要運行測試,運行`src\tools\msvc`目錄中的一個命令: ``` <kbd class="literal">vcregress check</kbd> <kbd class="literal">vcregress installcheck</kbd> <kbd class="literal">vcregress plcheck</kbd> <kbd class="literal">vcregress contribcheck</kbd> ``` 要改變調度方式(默認是并行),將它加在命令行后: ``` <kbd class="literal">vcregress check serial</kbd> ``` 關于回歸測試的更多內容,見[Chapter 30](#calibre_link-116)。 ## 16.1.6\. 編譯文檔 把PostgreSQL文檔編譯成HTML格式的需要一些工具和文件。為所有這些文件創建一個根目錄,將它們存儲在下列的子目錄中。 OpenJade 1.3.1-2 從 [http://sourceforge.net/projects/openjade/files/openjade/1.3.1/openjade-1_3_1-2-bin.zip/download](http://sourceforge.net/projects/openjade/files/openjade/1.3.1/openjade-1_3_1-2-bin.zip/download)下載并解壓到子目錄`openjade-1.3.1`中。 DocBook DTD 4.2 從[http://www.oasis-open.org/docbook/sgml/4.2/docbook-4.2.zip](http://www.oasis-open.org/docbook/sgml/4.2/docbook-4.2.zip)下載并解壓到子目錄`docbook`中。 DocBook DSSSL 1.79 從[http://sourceforge.net/projects/docbook/files/docbook-dsssl/1.79/docbook-dsssl-1.79.zip/download](http://sourceforge.net/projects/docbook/files/docbook-dsssl/1.79/docbook-dsssl-1.79.zip/download)下載并解壓到子目錄`docbook-dsssl-1.79`中。 ISO character entities 從[http://www.oasis-open.org/cover/ISOEnts.zip](http://www.oasis-open.org/cover/ISOEnts.zip)下載并解壓到子目錄`docbook`中。 編輯`buildenv.pl`文件,為根目錄的地址增加一個變量,如: ``` $ENV{DOCROOT}='c:\docbook'; ``` 要編譯文檔,運行`builddoc.bat`文件。注意為了生成索引, 實際上編譯運行來兩次。生成的HTML文件存在于`doc\src\sgml`中。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看