<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.21 2004/12/24 19:20:18 momjian Exp $ --> <chapter id="install-win32"> <title>Client-Only Installation on <productname>Windows</productname></title> <indexterm> <primary>installation</primary> <secondary>on Windows</secondary> </indexterm> <para> Although <productname>PostgreSQL</productname> is written for Unix-like operating systems and can be built using <productname>MinGW</productname> and <productname>Cygwin</productname>, the C client library (<application>libpq</application>) and the interactive terminal (<application>psql</application>) can be compiled using other Windows tool sets. Makefiles are included in the source distribution for <productname>Microsoft Visual C++</productname> and <productname>Borland C++</productname>. It should be possible to compile the libraries manually for other configurations. </para> <tip> <para> If you are using a Windows NT-based operating system or newer you can build and use all of <productname>PostgreSQL</productname> <quote>the Unix way</quote> if you install the <productname>MinGW</productname> toolkit first. In that case see <xref linkend="installation">. </para> </tip> <para> To build everything that you can on <productname>Windows</productname> using <productname>Microsoft Visual C++</productname>, change into the <filename>src</filename> directory and type the command <screen> <userinput>nmake /f win32.mak</userinput> </screen> This assumes that you have <productname>Visual C++</productname> in your path. </para> <para> To build everything using using <productname>Borland C++</productname>, change into the <filename>src</filename> directory and type the command <screen> <userinput>make -DCFG=Release /f bcc32.mak</userinput> </screen> </para> <para> The following files will be built: <variablelist> <varlistentry> <term><filename>interfaces\libpq\Release\libpq.dll</filename></term> <listitem> <para> The dynamically linkable frontend library </para> </listitem> </varlistentry> <varlistentry> <term><filename>interfaces\libpq\Release\libpqdll.lib</filename></term> <listitem> <para> Import library to link your programs to <filename>libpq.dll</filename> </para> </listitem> </varlistentry> <varlistentry> <term><filename>interfaces\libpq\Release\libpq.lib</filename></term> <listitem> <para> Static library version of the frontend library </para> </listitem> </varlistentry> <varlistentry> <term><filename>bin\psql\Release\psql.exe</filename></term> <listitem> <para> The <productname>PostgreSQL</productname> interactive terminal </para> </listitem> </varlistentry> </variablelist> </para> <para> The only file that really needs to be installed is the <filename>libpq.dll</filename> library. This file should in most cases be placed in the <filename>WINNT\SYSTEM32</filename> directory (or in <filename>WINDOWS\SYSTEM</filename> on a Windows 95/98/ME system). If this file is installed using a setup program, it should be installed with version checking using the <symbol>VERSIONINFO</symbol> resource included in the file, to ensure that a newer version of the library is not overwritten. </para> <para> If you plan to do development using <application>libpq</application> on this machine, you will have to add the <filename>src\include</filename> and <filename>src\interfaces\libpq</filename> subdirectories of the source tree to the include path in your compilers settings. </para> <para> To use the library, you must add the <filename>libpqdll.lib</filename> file to your project. (In Visual C++, just right-click on the project and choose to add it.) </para> <para> <application>psql</application> is compiled as a <quote>console application</>. As the Windows console windows use a different encoding than the rest of the system, you must take special care when using 8-bit characters at the <application>psql</application> prompt. When <application>psql</application> detects a problematic console code page, it will warn you at startup. To change the console code page, two things are neccessary: <itemizedlist> <listitem> <para> Set the code page by entering <userinput>cmd.exe /c chcp 1252</userinput>. (1252 is a code page that is appropriate for German; replace it with your value.) If you are using Cygwin, you can put this command in <filename>/etc/profile</filename>. </para> </listitem> <listitem> <para> Set the console font to <quote>Lucida Console</>, because the raster font does not work with the ANSI code page. </para> </listitem> </itemizedlist> </para> </chapter> <!-- Keep this comment at the end of the file Local variables: mode:sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"./reference.ced" sgml-exposed-tags:nil sgml-local-catalogs:("/usr/lib/sgml/catalog") sgml-local-ecat-files:nil End: -->