In order to make use of an ODBC driver there must exist a driver manager on the system where the ODBC driver is to be used. There are two free ODBC driver managers for Unix-like operating systems known to us: iODBC and unixODBC. Instructions for installing these driver managers are to be found in the respective distribution. Software that provides database access through ODBC should provide its own driver manager (which may well be one of these two). Having said that, any driver manager that you can find for your platform should support the PostgreSQL ODBC driver, or any other ODBC driver for that matter.
Note: The unixODBC distribution ships with a PostgreSQL ODBC driver of its own, which is similar to the one contained in the PostgreSQL distribution. It is up to you which one you want to use. We plan to coordinate the development of both drivers better in the future.
To install the ODBC you
simply need to supply the --enable-odbc
option to the configure script when you are building the entire
PostgreSQL distribution. The
library will then automatically be built and installed with the
rest of the programs. If you forget that option or want to build
the ODBC driver later you can change into the directory
src/interfaces/odbc and do make and make install
there.
It is also possible to build the driver to be specifically
tuned for use with iODBC or
unixODBC. This means in
particular that the driver will use the driver manager's routines
to process the configuration files, which is probably desirable
since it creates a more consistent ODBC environment on your system. If you want
to do that, then supply the configure
options --with-iodbc
or --with-unixodbc
(but not both).
If you build a "stand-alone" driver
(not tied to iODBC or
unixODBC), then you can specify
where the driver should look for the configuration file
odbcinst.ini. By default it will be the
directory /usr/local/pgsql/etc/, or
equivalent, depending on what --prefix
and/or --sysconfdir
options you supplied to configure. To select a specific location outside
the PostgreSQL installation
layout, use the --with-odbcinst
option. To be most useful, it should be arranged that the driver
and the driver manager read the same configuration file.
Additionally, you should install the ODBC catalog extensions. That will provide a number of functions mandated by the ODBC standard that are not supplied by PostgreSQL by default. The file /usr/local/pgsql/share/odbc.sql (in the default installation layout) contains the appropriate definitions, which you can install as follows:
psql -d template1 -f LOCATION/odbc.sql
where specifying template1 as the target database will ensure that all subsequent new databases will have these same definitions. If for any reason you want to remove these functions again, run the file odbc-drop.sql through psql.