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

From: "Jonah H(dot) Harris" <jonah(dot)harris(at)gmail(dot)com>
To: Pavlo Golub <pavlo(dot)golub(at)cybertec(dot)at>
Cc: Stefan Wolf <sw(at)zpmt(dot)de>, pgsql-interfaces(at)lists(dot)postgresql(dot)org
Subject: Re: MS-ACCESS 2010, ODBC 12.01, Out of Memory
Date: 2020-03-02 15:23:19
Message-ID: CADUqk8VLEc9-DeMu=-_ogg9aD8Jdp1AjW6M84oFz9UeadnnNrg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

On Mon, Mar 2, 2020 at 9:43 AM Pavlo Golub <pavlo(dot)golub(at)cybertec(dot)at> wrote:

>
> ------ Original Message ------
> From: "Stefan Wolf" <sw(at)zpmt(dot)de>
> To: pgsql-interfaces(at)lists(dot)postgresql(dot)org
> 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

In response to

Browse pgsql-interfaces by date

  From Date Subject
Next Message Tony Locke 2020-04-16 15:43:57 New run() method to simplify things in pg8000
Previous Message Pavlo Golub 2020-03-02 14:43:32 Re: MS-ACCESS 2010, ODBC 12.01, Out of Memory