Postgresql unicode x64 odbc

  1. psqlODBC — PostgreSQL ODBC driver
  2. psqlODBC Documentation
  3. psqlODBC HOWTOs
  4. psqlODBC Development
  5. psqlODBC History
  6. Acknowledgements
  7. OpenSSL
  8. MIT Kerberos
  9. SQLShack
  10. Configure ODBC drivers for PostgreSQL
  11. Download pSQLODBC_x64 Driver
  12. Install the psqlODBC_x64 driver
  13. Configure pSQLODBC_x64 Driver using System DSN
  14. Summary
  15. Compiling psqlODBC on Windows
  16. Building with Powershell and MSBuild
  17. Building with nmake.exe
  18. IDE Method
  19. psqlODBC release notes
  20. psqlODBC 13.02.0000 Release
  21. psqlODBC 13.01.0000 Release
  22. psqlODBC 13.00.0000 Release
  23. psqlODBC 12.02.0000 Release
  24. psqlODBC 12.01.0000 Release
  25. psqlODBC 12.00.0000 Release
  26. psqlODBC 11.01.0000 Release
  27. psqlODBC 11.00.0000 Release
  28. psqlODBC 10.03.0000 Release
  29. psqlODBC 10.02.0000 Release
  30. psqlODBC 10.01.0000 Release
  31. psqlODBC 10.00.0000 Release
  32. psqlODBC 09.06.0500 Release
  33. psqlODBC 09.06.0410 Release
  34. psqlODBC 09.06.0400 Release
  35. psqlODBC 09.06.0310 Release
  36. psqlODBC 09.06.0300 Release
  37. psqlODBC 09.06.0200 Release
  38. psqlODBC 09.06.0100 Release
  39. psqlODBC 09.05.0400 Release
  40. psqlODBC 09.05.0300 Release
  41. psqlODBC 09.05.0210 Release
  42. psqlODBC 09.05.0200 Release
  43. psqlODBC 09.03.0400 Release
  44. psqlODBC 09.03.0300 Release
  45. psqlODBC 09.03.0210 Release
  46. psqlODBC 09.03.0200
  47. psqlODBC 09.03.0100
  48. psqlODBC 09.02.0100
  49. psqlODBC 09.01.0200
  50. psqlODBC 09.01.0100
  51. psqlODBC 09.00.0310
  52. psqlODBC 09.00.0300
  53. psqlODBC 09.00.0200
  54. psqlODBC 09.00.0101
  55. psqlODBC 09.00.0100
  56. psqlODBC 08.04.0200
  57. psqlODBC 08.04.0100
  58. psqlODBC 08.03.0400
  59. psqlODBC 08.03.0300
  60. psqlODBC 08.03.0200
  61. psqlODBC 08.03.0100
  62. psqlODBC 08.02.0500
  63. psqlODBC 08.02.0403
  64. psqlODBC 08.02.0402
  65. psqlODBC 08.02.0401
  66. psqlODBC 08.02.0400
  67. psqlODBC 08.02.0300
  68. psqlODBC 08.02.0205
  69. psqlODBC 08.02.0204
  70. psqlODBC 08.02.0203
  71. psqlODBC 08.02.0202
  72. psqlODBC 08.02.0201
  73. psqlODBC 08.02.0200
  74. psqlODBC 08.02.0105
  75. psqlODBC 08.02.0104
  76. psqlODBC 08.02.0103
  77. psqlODBC 08.02.0102
  78. psqlODBC 08.02.0101
  79. psqlODBC 08.02.0100
  80. psqlODBC 08.02.0007
  81. psqlODBC 08.02.0006
  82. psqlODBC 08.02.0002

psqlODBC — PostgreSQL ODBC driver

psqlODBC is the official PostgreSQL ODBC Driver. It is released under the Library General Public Licence, or LGPL.

Downloads are available in source and binary formats at the PostgreSQL downloads site

psqlODBC Documentation

The following documents contain various bits of useful information. Please send any additional documentation, or report errors/omissions to


The following HOWTOs have been contributed by various people. If you wish to add to the collection, please send your contribution to

psqlODBC Development

psqlODBC is developed and supported through the mailing list.

You can browse the source code at the psqlODBC git repository at The source for this website is at the psqlodbc-www git repository

A backup of the old CVS repository can be found here.

psqlODBC History

The source code for this driver was originally adopted from version 0.20 of PostODBC. The authors at that time were Christian Czezatke and Dan McGuirk. Later it was maintained by Julie Ann Case.

As part of a commercial research project, the developers at Insight Distributions System overhauled the driver. Their goal was to make the driver commercially viable. In keeping with the spirit with which the original source was acquired, Insight published their work at their website. Some time later and after some discussion with members of the PostgreSQL organization, psqlODBC was adapted as the part of the PostgreSQL source distribution. The driver continued to be maintained by Byron Nikolaidis, the developer at Insight who overhauled the driver for some time.

The driver is currently maintained by a number of contributors to the PostgreSQL project.



This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (

MIT Kerberos

This product includes Kerberos software developed by the Massachusetts Institute of Technology (

Copyright 1992-2004 by the Massachusetts Institute of Technology. All rights reserved.



Configure ODBC drivers for PostgreSQL

In this article, we are going to understand the process to configure the ODBC driver for PostgreSQL. For the demonstration, I have installed PostgreSQL on my workstation. The details of the server and database are following:

  1. Server Name: PostgreSQL 13
  2. Port Number: 5432
  3. Database Name: DemoDatabase
  4. Username: Postgres
  5. SSL: No

You can view the details in pgadmin4. The screenshot of the configuration is following.

I have divided the article into three parts. The details are following:

  1. First Part: In the first part we will learn how we can download the recent and 64-bit version of the psqlODBC_x64 driver
  2. Second Part: In the second part we will learn how we can install the psqlODBC_x64 driver
  3. Third part: In the third part, we will learn how we can configure the system DSN using the pSQLODBC_x64 driver and configure the required parameters

First, let us begin with the download process of the latest version of the psqlodbc_x64 driver.

Download pSQLODBC_x64 Driver

You can download the ODBC driver for PostgreSQL from the official download website of PostgreSQL. You can view the various versions of the drivers from this location. We are configuring the ODBC driver for windows 10, so we are going to download the MSI file of the Driver. Click on the MSI folder.

Under the MSI directory, you can view the various versions of Driver. The files are compressed in zip format. We want to download the latest version, so scroll down to the bottom of the page and click on the file.

The download begins. Once download completes, right-click on file and select Extract to psqlodbc_13_01_0000-x64 option.

Once the MSI file is downloaded, double-click on the MSI file to install the Driver.

Install the psqlODBC_x64 driver

When we run the MSI file, the pSQLODBC_x64 diver setup wizard begins. On the first screen, you can see the details of the wizard.

On End-User License Agreement, you can view the license agreement and details. Review the license terms and click on I accept the terms in the license agreement. You can print the agreement by clicking on the Print button.

On the Custom Setup screen, you can select the feature of the drivers. In the ODBC driver setup, you can see the driver under the pSQLODBC_x64 tree. You can view the disk usage of the Driver. If you want to install the documentation, click on the button under the psqlODBC_x64 tree and select the entire feature installed on the disk option. We are installing the documentation, so I have chosen that option.

On ready to install screen, click on the Install button. If you want to review or make any changes in installation settings, click on Back.

Once installation completes, click on Finish to close the wizard.

The pSQLODBC_x64 Driver has been installed successfully. Now, let us configure the Driver in ODBC data source to use it.

Configure pSQLODBC_x64 Driver using System DSN

To configure the ODBC data source for the PostgreSQL database, open ODBC Data Source (64–bit) 🡪 Click on System DSN tab 🡪 Click on Add.

A dialog box Create a new data source opens. Select PostgreSQL Unicode(x64) driver and click on Finish.

Another dialog box PostgreSQL Unicode ODBC Driver (pSQLODBC) Setup opens. In the dialog box, you must specify the following parameters:

  1. Data Source: Specify the desired Data Source name. The name will be used to identify the DSN. I have given pgadmin13 as DSN
  2. Description: Provide the details of the data source
  3. Database: Specify the database that you want to use. In our configuration, we are using DemoDatabase, so the database name is DemoDatabase
  4. Server: Specify the Server name/hostname on which the PostgreSQL is installed. We have installed PostgreSQL on localhost so the server name is localhost
  5. Port: Specify the port number on which the PostgreSQL services are running. PostgreSQL service is running on 5432 port so the value of the port number is 5432
  6. SSL Mode: If you are using SSL to connect to PostgreSQL, then specify the SSL Mode. We are not using SSL to connect to the PostgreSQL, so I have chosen disabled
  7. Username and Password: Specify the appropriate username and password to connect to PostgreSQL. We are using the Postgres user to connect

Once all parameters are configured, the configuration setup looks like the following image:

Click on Test to verify the connectivity.

As you can see, the connection has been established successfully. Click on Save to create the system DSN. Back to the System DSN screen, you can see the pgadmin13 DSN has been created.


In this article, we learned how we could use the PostgreSQL ODBC driver. We learned the following:

  1. How to download the psqlODBC_x64 driver from the official website of pgSQLODBC_x64 Driver for windows 10
  2. How to install the pgODBC_x64 Driver on the workstation
  3. How to configure the PostgreSQL Unicode ODBC driver using ODBC data source administrator
Читайте также:  Лазерный цветной принтер мфу samsung clx 3175

In the next article, I will explain how we can use the pgODBC_x64 Driver to create an SSRS report and import/export PostgreSQL data to an excel file.

Nisarg Upadhyay is a SQL Server Database Administrator and Microsoft certified professional who has more than 8 years of experience with SQL Server administration and 2 years with Oracle 10g database administration.


Compiling psqlODBC on Windows

This page describes how to build the PostgreSQL ODBC Driver on Windows. There are three methods to build: from command line using nmake makefiles, from Powershell using MSBuild files, and from Visual Studio IDE.

The following 3rd party software are required for the build:

  • Microsoft Windows SDK 7.0 (or later), or Microsoft Visual Studio C++ 2005 Edition (or later). Other compilers may work but have not been tested. Download the latest version from Microsoft’s download page
  • PostgreSQL Client library (libpq.dll) and headers. Download the latest version from the PostgreSQL Binaries Download page.
  • WiX Toolset. Required for building the installer. Download the latest version from the WiX Toolset website

Building with Powershell and MSBuild

Building with nmake.exe

Use NMAKE.exe to build the driver for the currently active target:

C:\psqlodbc\> nmake /f win64.mak

Despite the name, win64.mak is used to build both 32-bit and 64-bit binaries. With the Microsoft Windows SDK Command Prompt, you can switch between 32-bit and 64-bit target architectures with setenv /x86 and setenv /x64 commands. If using a Visual Studio Command Prompt you can start the x86 or x64 versions from the Start menu, or run vcvarsall.bat with appropriate options to switch architectures.

To build the .msi installer file:

C:\psqlodbc\> nmake /f win64.mak installer

The resulting installer file goes to installer/x64 or installer/x86 directory.

To build both 32-bit and 64-bit versions in one command:

C:\psqlodbc\> nmake /f win64.mak world

The following build options may be used, either on the command line, or by creating a file called «windows-local.mak».

Variable Values
CFG Release(default), or Debug
PG_INC $(PROGRAMFILES)\PostgreSQL\9.3\include
SSL_INC C:\OpenSSL-Win32\include
SSL_LIB C:\OpenSSL-Win32\lib
ANSI_VERSION no (If set to «yes», output dll name to psqlodbc30a.dll)
  1. UNICODE is the default (psqlodbc35w.dll), unless ANSI_VERSION is selected (psqlodbc30a.dll)
  2. libpq.dll is mandatory.
  3. If MSDTC == Yes, «pgxalib.dll» is created.
  4. If MSDTC is enabled, ANSI_VERSION also creates «pgenlista.dll», or UNICODE creates «pgenlist.dll».

IDE Method

A Microsoft Visual Studio project file (and workspace) is included in the source tree.

psqlodbc.dsp can be used with Microsoft Visual C++ 6.0.

psqlodbc.proj and psqlodbc.sln can be used with Microsoft Visual C++ 2005 Edition (including the Express edition which can be downloaded free of charge from

Preparation before the build:

  1. The Windows distribution of PostgreSQL will install the required headers and libraries into C:\Program Files\PostgreSQL\9.2
  2. OpenSSL should be installed into C:\OpenSSL (OpenSSL binaries can be downloaded from

If you want to change the installation arrangement, it is necessary to edit the project settings.

The default build settings will create the following driver:


psqlODBC release notes

psqlODBC 13.02.0000 Release

psqlODBC 13.01.0000 Release

psqlODBC 13.00.0000 Release

psqlODBC 12.02.0000 Release

psqlODBC 12.01.0000 Release

psqlODBC 12.00.0000 Release

psqlODBC 11.01.0000 Release

psqlODBC 11.00.0000 Release

psqlODBC 10.03.0000 Release

psqlODBC 10.02.0000 Release

psqlODBC 10.01.0000 Release

psqlODBC 10.00.0000 Release

psqlODBC 09.06.0500 Release

psqlODBC 09.06.0410 Release

psqlODBC 09.06.0400 Release

psqlODBC 09.06.0310 Release

psqlODBC 09.06.0300 Release

psqlODBC 09.06.0200 Release

psqlODBC 09.06.0100 Release

psqlODBC 09.05.0400 Release

psqlODBC 09.05.0300 Release

psqlODBC 09.05.0210 Release

psqlODBC 09.05.0200 Release

psqlODBC 09.03.0400 Release

psqlODBC 09.03.0300 Release

psqlODBC 09.03.0210 Release

psqlODBC 09.03.0200

psqlODBC 09.03.0100

psqlODBC 09.02.0100

1.) Protect shared connection list when making cleanup tasks in EN_Destructor using the patch provided by Michael Kocherov.
2.) Fix a lot of compiler warnings. Most of them were harmless, but some pointed to real, but rare, bugs.
3.) Check SIZEOF_LONG_INT, rather than SIZEOF_VOID_P, when deciding whether SQLROWSETSIZE exists. That’s consistent with unixodbc’s sqltypes.h.
4.) Check BUILD_LEGACY_64_BIT_MODE instead of BUILD_REAL_64_BIT_MODE. This makes us choose correctly whether we’re building a 32-bit or 64-bit version, when building with unixODBC version 2.2.13 or higher.
5.) Fix handling of some out-of-memory situations.
6.) Eliminate recursion when freeing result sets of queries with array-bound parameters. This avoids running out of stack space on SQLFreeHandle, and speeds it up considerably.
7.) Fix memory leak, e.g when SQLNumResultCols is called on a non-SELECT query. This was caused by unintentional multiple evaluation of macro arguments.
8.) Move psqlodbc website’s main page, FAQ, and howto pages to a separate git repository. They are no longer included in psqldbc release tarballs.
9.) Fix bug with binding a 5-bytes long string as VARCHAR parameter, with UseServerSidePrepare=0 and BoolsAsChar=1. That combination produced an extra empty result set on execution.
10.) Make the MSI build process of 32bit drivers available in 64bit.
11.) Fix bug with DeUseDeclareFetch=1 and UseServerSidePrepare=1, issue COMMIT commands properly in case of AUTOCOMMIT on mode. per reported by Jack Wilson(
12.) Don’t #include errno.h on Windows. VC10 or later intentionally changed the values of error numbers like EINTR, EWOULDBLOCK.
13.) Allow special characters in the password value of a connection string by enclosing the value by braces(<>).
14.) Fixed conflict between winsock2.h and winsock.h in socket.c.
15.)Apply blank date null conversion functionality to timestamp type as well.
16.) Fix the *cursor XXXXXXXX already exists* error when handling *with cte* statements reported by Joe Conway.
17.) Fixed the problem *Segmentation Fault in Postgres server when using psqlODBC* reported by Joshua Berry.
18.) Fixed the problem *UseDeclareFetch=1, Fetch=100, UseServerSidePrepare=1 causes Windows client to intermittently hang* reported by Jack Wilson.

psqlODBC 09.01.0200

1.) Use int instead of size_t when condition >=0 is used.
2.) Add a necessary break in a switch statement etc.
3.) Fix missing constant(SQL_ATTR_PGOPT_FETCH).
4.) Fix a bug about reference count handling for columns info (Bug report by B.Goebel).
5.) Improve the handling of ARRAY type.
6.) Fix a compilation error etc when MULTITHREAD support is disabled.
7.) Don’t discard the result of unnamed statements for later SQLDescribeCol or SQLColAttribute calls.(Bug report by Alexandre).
8.) Set rowstart_in_cache properly when closing eof cursors.(Bug report by Alexandre).
9.) Remove columns info of dropped tables ASAP.
10.) Fix the bug which causes a segfault in SQLSpecialColumns when table name is null string (bug report by Terrence Enger).
11.) Fix the bug that when the show OID column option is enabled, SQLColumns() returns «oid» column info even when the column name parameter which is different from «oid» is specified (bug report from Seifert, Jan-Peter).
12.) Take care of an environment variable PGKRBSRVNAME.

psqlODBC 09.01.0100

1.) SQLStatistics() sets ‘D’ for the collation column when an reverse index is used.
2.) Fix the bug that PostgreSQL’s function calls in queries cause a crash on SQL Server linked servers.
3.) Fix the bug that the first fetch operation doesn’t work properly when the operation is SQL_FETCH_ABSOLUTE or SQL_FETCH_LAST.
4.) Revise the handling of decimal point.
5.) Adjust the operations after closing eof-detected cursors.
6.) Before dropping the statement, sync and discard the response from the server for the pending extended query.
7.) Clear col_info(columns info) cache ehen DROP/ALTER TABLE is called so that later SQLDescribeCol() etc work properly.
8.) Improve the handling of BYTEA type.
9.) Don’t clear the columns cache info when they are referenced.
10.) Correct the column size of interval types.

psqlODBC 09.00.0310

1.) Let SC_forget_unnamed() clear the result in case the statement is not executed yet. It would fix the bug reported by Silvio Brandani.
2.) Fix the bug that strings are copied to a null pointer.
3.) Don’t clear the parsed plan in SC_recycle_statement().
4.) Now SQLDescribeCol() can detect the changes of column type or size.
5.) Handle *with or without oids* correctly.
6.) Take the environment variable into account.
7.) Use SOCK_get_next_n_bytes() instead of SOCK_get_next_byte().
8.) Add some driver specific options for SQLSetConnectAttr().
9.) Fix compilation errors in case ODBC 2.5.
10.) Fix compilation error on different ODBCVER.
11.) Correct the behavior of SQLSetConnectAttr() for the driver specific options.

psqlODBC 09.00.0300

1.) Don’t propgate the connection level statment options to the internal statements. This fixes an infinite loop reported by Nelson Andre.
2.) Improved a mylog output.
3.) Fix the bug introduced by the previous change reprted by Adrien de Croy.
4.) Divide SC_returns_rows() macro into several categories and make SQLResultNumCols(), SQLDescribeCol() or SQLColAttribute() available
for insert/update/delete .. returning statements.
5.) Initialize flags member in QResultClass before calling QR_set_rowstart_in_cache() per report from Arno Moore.
6.) Applied a patch by Taizo Ito and correct the length of BIT type in Postgres.
7.) Change to read and skip the rest of result data when out of memory occurs while reading tuples so that we can continue to use the connection.
8.) Fix the bug that Access autonumber fields are not detected in 9.0.0200 reported by Arnaud Lesauvage.
9.) Convert large integer strings properly.
10.) Fix the trouble introduced by the change *Return 0 for the column size when the size of numeric items are unknown* per report from Marco Gaiarin.
11.) Remove a meaningless if clause. This had a problem with ltdl function.

Читайте также:  Драйвер для принтера hp м125 м126

psqlODBC 09.00.0200

1.) Fix a bug about sizeof() at idx_fake_oid of info.
2.) Return 0 for the column size when the size of numeric items are unknown.
Also improve the calculation of scale of numeric items when it is not explicitly specified.
3.) Change to use ‘if’ instead of an inappropriate ‘else if’ at cursor of convert.
4.) Remember to set permanent flag to holdable cursors on commit with no precedent rollback (to savepoint) operations.
This fixes a crash bug in case of cursor operations across transaction.
5.) Fix a bug about the handling of the SQL_RETRIEVE_DATA option.
Per report by Andreas.
6.) Fix cursor bug introduced by the previous change.
Per report by Andreas.
7.) Move the setting of folder name of libpq or gssapi related dlls from .wxs file to .bat file.
8.) Fix a bug which returns incorrect values for SQL_DATETIME_SUB.

psqlODBC 09.00.0101

1.) Fix build source of Windows 64bit environment.

psqlODBC 09.00.0100

1.) Allow password which contains special characters like <,>,=,;.
2.) Add a new data source option which makes it possible to use Kerberos for Windows library to reply to GSSAPI authentication request.
3.) Native support for SSPI Kerberos or Negaotiate service. It may be useful for the 64-bit drivers.
4.) Fix an oversight of Memory overflow handling.
5.) Removed «#define SQL_WCHART_CONVERT» which causes a trouble on some platforms.
6.) Removed the use of misused strcat_s together with snprintf_s (bug report from Jap-Peter Seifert) and use strlcat instead of strncat.
7.) Fix a bug about pre-execute behavior in case of protocol v2 or earlier.
8.) Use poll() instead of select() when it’s available.
9.) Take comments or line comments in a query into account.
10.) Fix a crash bug on authentication failures.
11.) Take —without-iodbc(unixODBC) configure option into account.
12.) Apply the patch by Peter Crabtree which fixes a crash bug.
13.) Improve the handling of bools_as_char case.
14.) Fix a bug when creating a connection string.
15.) Use pg_get_expr(adbin, ..) instead of unreliable adsrc in pg_attrdef so as to know the sequence name associated with serial items.
16.) Added 64-bit version of installer files.
17.) Introduce pgtype_attr_xxxx functions which take a typmod parameter as well as a type oid parameter as an extension of pgtype_xxxx functions so that SQLColumns and SQLDescribeCol(SQLColAttrinute) could use common functions.
18.) Call PQconnectdbParams instead of PQconnectdb when it’s available.
19.) Make cursor open check at transaction end a little more effective.
20.) Added code for SQL_INTERVAL support and refcursor support though they are disabled.
21.) Correct the handling of dynamic cursors so that they are substituted by keyset-driven ones.
22.) Remove a compilation error and some compiler warnings under unixdODBC 2.3 environment.
23.) Make sure the support of the backward-compatibility version of getaddrinfo() family even when _WIN32_WINNT is supplied.
24.) Update win64.mak so that gssapi support is available without libpq.

psqlODBC 08.04.0200

1.) Fix a column uodatability problem reported by Tom Goodman.
2.) Display SSL mode list properly on setup dialog.
3.) Don’t truncate the result of msgtowstr()/wstrtomsg().
4.) Implement ConfigDriver() function.
5.) check of the SQLLEN definition by the unixODBC version by SQLColAttribute.
6.) Take WITH cte staments into account.
7.) Fix a bug about UTF8 handling.
8.) Wait a ReadyForQuery Message after errors correctly.
9.) Fix a problem with 10.) Cleanups about the handing of unnamed parsed statements and the handling of ODBC escape < .
11.)Link ws2_32.lib in case the compilation environment #defines _WIN32_WINNT and the value >= 0x0501.
12) Added —with(out)-libpq[=DIR> option to configure.
13) Revise autoconf/automake so that libpq/ssl header/libs are resolved at configure phase.
14) Use md5.c directly instead of win_md5.c.
15) Suppress some compiler warnings.
16) Fix memory leaks on connection failure (Shouji morimoto).
17) Suppress some compilation errors and warnings.
18) Fix SSL connection timeout.

psqlODBC 08.04.0100

1.) Avoid a crash on exit when using SSL connections by resetting CRTPTO_xx_callbacks before unloding libpq.
2.) Correct the funtion name DiscardRollbackState pointed out by Zoltan Boszormenyi.
3.) Correct the value of INDEX_QUALIFIER column which returned by SLQSTATISTICS();
4.) Take domain types into account in SQLColumns() (Thanks to Luiz K. Matsumura).
5.) Take RESTRICT actions into account in SQLForeignKeys() (report from Farid Zidan).
6.) Fix a bug that small negative decimal values are mistaken for non-negative (bug report from Dominic Smith).
7.) Use MSG_NOSIGNAL/MSG_NOSIGPIPE option on send()/recv() to avoid crash on SIGPIPE (bug report from Brian Feldman).
8.) Remove a spurious «.» with no trailing digits in timestamp representation (bug report from Brian Feldman).
9.) Rename trim() funtion in order to avoid conflict of function name(report from Dominic Smith).
10.) Put back the change to add *read only* clause for read only cursors.
11.) Improve pgtype_transfer_octet_length().
12.) Fix a bug reported by Milen Manev that SQLExec *select for a table* -> SQLDescribeCol() -> add a column to the table -> SQLExec *select for the table* -> SQLDescribeCol() for the added column causes a bad result.
13.) Use strncpy_null() instead of strncpy().
14.) Close (holdable) cursors on commit if possible.
15.) Recycle columns cache info if the size becomes pretty large.
16.) Add a ‘verify-ca’ and ‘verify-full’ to the sslmode option via libpq of version 8.4.
17.) Add a functionality to change the directory for logging.
18.) Correct the error code for communication errors.
19.) Correct the conversion between UTF-16 and UTF-8 for non UCS2 characters.
20.) Try to convert (especially connection error) messages using local conversions when they are not valid unicode characters.
21.) Add a textbox to setup dialog to change the directory for logging.
22.) Allow multiple Connsettings statements in connection string by enclosing them by braces(<>).
23.) Improve the transactional control under useDeclareFetch mode.
24.) Take the platforms where char is unsigned into account per report from Alex Goncharov.
25.) Improve the handling of UUID type especially to support IMPORT or LINK in MS Access.

psqlODBC 08.03.0400

1.) GUID forgot to set the value to the buffer.
2.) -Wall was taken as gcc limitation.

psqlODBC 08.03.0300

1.) SQLGUID type support thanks to Jan-Willem Goossens.
2.) Fix a bug about silently adding a *for read only* clause.
3.) Fix a 64bit mode bug about handling of arrays of parameters.
4.) Change the implemetatin of SQLForeignKeys() for 8.3+ servers.
5.) Not commit the transaction too early in useDeclareFetch mode.
6.) Add a cursor open check for SQLPrepare().
7.) Reset the column binding information after SQLMoreResults().
8.) Save the rowset size properly for the FETCH_NEXT operation in case of >= 3.0 drivers.
9.) Support FE/BE communications on Big Endian platform.
10.) Check strerror_r function’s return type.
11.) Suppress some compiler warnings.

psqlODBC 08.03.0200

1.) Fix a bug in socket which uses a socket variable.
2.) Support column alias without «as» so that links from the SQLServer work.
3.) Take ‘;’ into account when the driver adds «for read only» clause.
4.) Use the E’.. ‘ notation not only in ‘=’ expressions but also in LIKE expressions.
5.) Change to return milliseconds parts for timestamp fields.
6.) Change to return a specific sqlstate in case of multiple parameters.
7.) Fix bug of the selection not using SSL.

psqlODBC 08.03.0100

1.) Correct the flow of trial of multi protocols and fix related bugs about handling of connection errors.
2.) Use SSPI service for SSL support when libpq is unavailable.
3.) Fix a bug in copy_and_convert_field() when fetching bookmark columns. This bug could occur in case no suitable? lo type is found.
4.) Improve the parse statement operation so that it detect srf in (from clause).
5.) Correct the COLUMN_LENGTH return value of SQLColumns() for varchar/bpchar type columns (Unicode driver).
6.) Change to not return database name if case of MS Query.
7.) The first cut to use Windows SSPI. The trial to use Schannel service for SSL support.
8.) Be more careful about in UseDeclareFetch mode. «for read only» clause for read only queries for 8.3 or later servers for safety.

Читайте также:  Ricon ru драйвера sp 100su принтер

psqlODBC 08.02.0500

1.) Correct the format of Bind message under 64bit environment.
2.) Fixed build of without OpenSSL.

psqlODBC 08.02.0403

1.) Support SQLColAttribute for MS specific SQL_CA_SS_COLUMN_KEY. Some MS applications use this.
2.) Improve the check of updatability of queries by checking if they have multiple tables.
3.) Reduce the round trip overhead in FE/BE communications(especially in useDeclareFetch mode).
4.) Fix a bug in ResolveOneParam() pointed out by Rainer Bauer.
5.) Add a flag which lets SQLTables() show only accessible tables.
6.) The unicode driver now can handle utf-16 surrogate pairs.

psqlODBC 08.02.0402

1.) Fix some bugs in case without MSDTC support.
2.) Refine the realloc handling.
3.) Put back the @@IDENTITY implementation so as not to use lastval().
4.) Change SQLColumns() to return correct column length in the Unicode driver.
5.) Remove the connection count limitation.
6.) Fix Protocol=7.4—1 notation (should be Protocol=7.4).
7.) Fix a typo in socket.c (bug report from Rainer bauer).
8.) Add CC_set_autocommit to psqlodbc(a).def files.
9.) Handle Standard_conforming_strings.
10.) Handle standard_conforming_strings also in case via libpq.
11.) Fix a bug which doesn’t free connection list properly.
12.) Fix DelayLoadDLL was made explicit of psqlodbc.proj file.

psqlODBC 08.02.0401

1.) Fix a bug which checking join is confused by CR+LF.
2.) Handle AUTOCOMMIT mode more carefully in a distributed transaction so as not to issue COMMIT unexpectedly.
3.) Allow the UNIX domain configuration (the same as libpq).
4.) Fixed the automake/autoconf scripts.(by Peter Eisentraut)

psqlODBC 08.02.0400

1.) Fixed control binding of SetField problem.
2.) Fixed pgenlist.h losts to the release package.

psqlODBC 08.02.0300

1.) Allow non-admin or Vista users to create log fils in the home directory.
2.) Fix an index over bug which causes a crash or an unexpected result.

psqlODBC 08.02.0205

1.) Append DETAIL messages to GetDiag. () messages.
2.) Use SQL_SUCCEEDED macros so as to simplify the code.
3.) Use lastval() function to replace IDENTITY on 8.1 or later servers.
4.) Remove WSAStartup() and WSACleanup() from DllMain.
5.) Load libpq from the driver’s folder.
6.) Use QR_get_value_backend_int/_text() funcs instead of QR_get_value_backend_row().
7.) Improve the implemetation of SQLSetPos(. SQL_ADD/SQL_UPDATE) using the 8.2 new feature INSERT/UPDATE .. returning.
8.) Seaparate DTC code as a Delayload DLL.

psqlODBC 08.02.0204

1.) Configure the combination of time.h and sys/time.h.
2.) Treat the tables in information_schema as system tables.
3.) Correct the precision of SQL_NUMERIC_STRUCT.
4.) Change the default max varchar size from 254 to 255.
5.) Reset the fields information properly in case of SQLMoreResults.
6.) Implement SQLDescribeParam() also in case of multi-command queries.
7.) Handle dollar-quotes more properly.
8.) Provide a make option to link dynamic multithread library.
9.) Set the default nullablity to TRUE.
10.) Parse command delimiters(;) more correctly.
11.) Use QR_get_value_backend_text() or QR_get_value_backend_int()
12.) instead of QR_get_value_backend_row().
13.) Apply Parse statement or disallow premature properly.
14.) Reset current_schema cache in case ‘set search_path ..’ command is issued.

psqlODBC 08.02.0203

1) Fix a bug which forgets unnamed plans too early especially when handling large objects.
2) Don’t treat charcters whose value >= 128 as alphanumeric in case of conversion of binary data to bytea.
3) Change ConfigDSN() so that it takes the options in Setup Dialog page 1 into account.
4) Simplify the memory management of statements’columns info so as to prevent memory leaks or a crash in parse_statement etc.
5) SQLTables(«», SQL_ALL_SCHEMAS. «», ..) now returns a list of valid schemas.
6) SQLTables(«», «», «», SQL_ALL_TABLE_TYPES) now returns a list of valid table types.
7) SQLGetInfo SQL_DATABASE_NAME now returns the database name.
8) Improve the automatic setting mechanism of the client_encoding for Windows code page 125x (ANSI drivers only).

psqlODBC 08.02.0202

1) Change to use NULL indicator instead of the length buffer in SQLFetch.
2) Fix long -> serial conversion error in MS Access.

psqlODBC 08.02.0201

1) Ditinguish the indicaitor and the octet_length field of APD clcearly.
2) Handle @@IDENTITY more generally.
3) Take outer join into account so as to evaluate nullability.
4) Fix a bug about Keyset-driven cursors.

psqlODBC 08.02.0200

1) Fix some bugs or warnings on 64 bit OS.
2) Avoid backend crash caused by Execute Requests for committed holdable cursors.

psqlODBC 08.02.0105

1) SQLStatistics now returns indices based on expression also.
2) Add a TEST button on the setup dialog.

psqlODBC 08.02.0104

1) Take 64bit mode into account for the format parameter of (s(n))printf, sscanf etc.
2) getpid() instead of _getpid()
3) SQLGetInfo(SQL_NULL_COLLATION) now returns SQL_NC_HIGH instead of SQL_NC_END
4) Remove the function SQLParamOptions from ODBC3.0.

psqlODBC 08.02.0103

1) Improve the handling of connection error messages.
2) Add an option to convert empty strings to NULL.
3) Handle domain type as the basetype.
4) Fake MSS in case of not only SQLExecute but also SQLParamData.
5) Prevent SQLColumns from displaying system columns.
6) Unload delayLoaded libraries on dll detach (not on disconnect time).
7) Fix a SQLGetDiagField crash bug.
8) Fix a insertion count bug.
9) Take win98 cases into account a little.

psqlODBC 08.02.0102

1) Compensate a loss of report of being Jet when using MS Access.
2) Add NULL «» date converion function for FOXPRO and
revise parse/describe/execute mechanism.
3) Miscellaneous type changes for 64 bit drivers.

psqlODBC 08.02.0101

1) Delayload import XOLEHLP.dll so that the driver can be loaded
without the existence of the dll.
2) Fix a simple password authentication bug.
3) Fix a buffer overrun bug which prevented the connection phase
from retrying another version appropriately.
4) Handle multi-addresses of a specified host properly.
5) Refine the socket handling(connect, recv, send).
6) Display more appropriate error messages in the connection phase.

psqlODBC 08.02.0100

1) Return to Unicode/ANSI driver distribution as some users still find one works better than the other for them.
2) Improve connection error message in case of invalid protocol characters.
3) Initial value has set MSDTC=no of VC6 (Support of MSDTC is only VC7 and VC8)
4) Addition which is a driver name in a resource (Unicode or ANSI)

psqlODBC 08.02.0007

1) Fix some SQLPrimaryKey, SQLForeignKey bugs.
Fill PK_NAME or FK_NAME columns.
Return right update_rule values.
Remove duplicates.
2) Handle SQL_ALL_SCHEMAS parameter in SQLTables.
3) Handle unaligned indicator/length buffers more properly.
4) Fix a bug in ProcedureColumns in case of set returning functions.
5) Fix a buffer overrun in handle_notice_message (Bart Samuel)
6) Fix a output parameters problem (Bart Samuel)
7) Hold the connection lock while a rollbackable statement running.
8) Add Extra Opts option to the DSN option setupdialog.

psqlODBC 08.02.0006

1) Add an option to fake Microsoft SQL Server which would improve SERIAL type handling.
2) Add support for LOGIN_TIMEOUT.
3) Improve Statement error handling about the reference of Connection error.
4) Improve the handling BIGINT type in the OSs without having strtoll().
5) Support ODBC CONVERT scalar functions in some cases.
6) Close qlog, mylog files on detach dll.
7) Improve comunication performance in case of the driver’s original socket.
8) Fix send a close
9) Support of IPV6.

8.2.0003-8.2.0005 was skipped by the situation.

psqlODBC 08.02.0002

1) SQL injections via ODBC catalog function calls.
2) Fix SQLNumParams problem related to literal or dollar quote.
3) Call libpq in case of Kerberos authentication.
4) Add E’ before literal for after 8.1 severs.
5) Return the correct error message in case of no password.
6) Take E’. ‘ literal expression into account.
7) Fix an SQL_C_WCHAR -> numeric type conversion problem.
8) Refine the handling of io or output parameters.
9) Refine the dollar quote handling.
10) Fix the client_encoding mismatch problem.
11) Fix for SQLStatistics returns UNKNOWN instead of real column names.