Обсуждение: MS-ACCESS 2010, ODBC 12.01, Out of Memory

Поиск
Список
Период
Сортировка

MS-ACCESS 2010, ODBC 12.01, Out of Memory

От
"Stefan Wolf"
Дата:

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-

 

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

От
"Pavlo Golub"
Дата:

------ Original Message ------
From: "Stefan Wolf" <sw@zpmt.de>
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-

 

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

От
"Jonah H. Harris"
Дата:
On Mon, Mar 2, 2020 at 9:43 AM Pavlo Golub <pavlo.golub@cybertec.at> wrote:

------ Original Message ------
From: "Stefan Wolf" <sw@zpmt.de>
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