MS-ACCESS 2010, ODBC 12.01, Out of Memory

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

MS-ACCESS 2010, ODBC 12.01, Out of Memory

Stefan Wolf (Zielpunkt-Marketing)

Win10-Client:  MS-ACCESS 2010 (32-Bit),  ODBC-Driver:  12.01

Linux-Server (1):  PostgreSQL 12.2

Linux-Server (2):  PostgreSQL  9.6

 

 

We are currently migrating from PG 9.6. to 12.x.

 

We’ve created System-DSNs (PostgreSQL Unicode) with [Defaults] for both Server.

 

In MS-ACCESS our biggest Server-Tables (>14.000.000 Rows) can be opened (on both Servers).

But it takes a lot of time and uses a lot of memory - more than 450MB on the client and some GB on the server.

 

The indexes are recognized an filtering is fast.

 

Trying to open more than one “big table” will result in MS-ACCESS “Out of memory”.

 

Best regards

-Stefan Wolf-

 

Reply | Threaded
Open this post in threaded view
|

Re: MS-ACCESS 2010, ODBC 12.01, Out of Memory

Pavlo Golub

------ Original Message ------
From: "Stefan Wolf" <[hidden email]>
Sent: 2020-03-02 15:41:05
Subject: MS-ACCESS 2010, ODBC 12.01, Out of Memory

Win10-Client:  MS-ACCESS 2010 (32-Bit),  ODBC-Driver:  12.01

Linux-Server (1):  PostgreSQL 12.2

Linux-Server (2):  PostgreSQL  9.6

 

 

We are currently migrating from PG 9.6. to 12.x.

 

We’ve created System-DSNs (PostgreSQL Unicode) with [Defaults] for both Server.

 

In MS-ACCESS our biggest Server-Tables (>14.000.000 Rows) can be opened (on both Servers).

But it takes a lot of time and uses a lot of memory - more than 450MB on the client and some GB on the server.


This is for sure MsAcess problem, and not a bug of PostgreSQL.

 

The indexes are recognized an filtering is fast.

 

Trying to open more than one “big table” will result in MS-ACCESS “Out of memory”.


Sounds like msAccess fetches all rows and put them into memory which is weird and unwise. Not a bug of PostgreSQL


 

Best regards

-Stefan Wolf-

 

Reply | Threaded
Open this post in threaded view
|

Re: MS-ACCESS 2010, ODBC 12.01, Out of Memory

Jonah H. Harris-2
On Mon, Mar 2, 2020 at 9:43 AM Pavlo Golub <[hidden email]> wrote:

------ Original Message ------
From: "Stefan Wolf" <[hidden email]>
Sent: 2020-03-02 15:41:05
Subject: MS-ACCESS 2010, ODBC 12.01, Out of Memory

Win10-Client:  MS-ACCESS 2010 (32-Bit),  ODBC-Driver:  12.01

Linux-Server (1):  PostgreSQL 12.2

Linux-Server (2):  PostgreSQL  9.6

 

 

We are currently migrating from PG 9.6. to 12.x.

 

We’ve created System-DSNs (PostgreSQL Unicode) with [Defaults] for both Server.

 

In MS-ACCESS our biggest Server-Tables (>14.000.000 Rows) can be opened (on both Servers).

But it takes a lot of time and uses a lot of memory - more than 450MB on the client and some GB on the server.


This is for sure MsAcess problem, and not a bug of PostgreSQL.

Is it?
 


The indexes are recognized an filtering is fast.

 

Trying to open more than one “big table” will result in MS-ACCESS “Out of memory”.


Sounds like msAccess fetches all rows and put them into memory which is weird and unwise. Not a bug of PostgreSQL

Sounds like the ODBC driver configuration isn't using UseDeclareFetch=1 and, as such, is defaulting to Postgres' crappy default buffer-all-results-on-the-client-at-once protocol - a problem that would exist in any client software not overriding that behavior.

--
Jonah H. Harris