From: Gmail <robjsargent@gmail.com>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: pgsql-general@postgresql.org
Subject: Re: INSERT ON CONFLICT of "wide" table: target lists can have at most 1664 entries
Date: Sun, 4 Dec 2016 09:52:45 -0700
Message-ID: <00F6777D-4500-4FEF-9BCE-0D1A22C1A2AB@gmail.com> (raw)
In-Reply-To: <20161204163237.GA8030@telsasoft.com>
References: <20161204163237.GA8030@telsasoft.com>
List-Unsubscribe: <mailto:majordomo@postgresql.org?body=unsub%20pgsql-general>
> On Dec 4, 2016, at 9:32 AM, Justin Pryzby <pryzby@telsasoft.com> wrote:
>
> Our application INSERTs data from external sources, and infrequently UPDATEs
> the previously-inserted data (currently, it first SELECTs to determine whether
> to UPDATE).
>
> I'm implementing unique indices to allow "upsert" (and pg_repack and..), but
> running into a problem when the table has >830 columns (we have some tables
> which are at the 1600 column limit, and have previously worked around that
> limit using arrays or multiple tables).
>
> I tried to work around the upsert problem by using pygresql inline=True
> (instead of default PREPAREd statements) but both have the same issue.
>
> I created a test script which demonstrates the problem (attached).
>
> It seems to me that there's currently no way to "upsert" such a wide table?
Pardon my intrusion here, but I'm really curious what sort of datum has so many attributes?
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-general@postgresql.org
Cc: robjsargent@gmail.com, pryzby@telsasoft.com
Subject: Re: INSERT ON CONFLICT of "wide" table: target lists can have at most 1664 entries
In-Reply-To: <00F6777D-4500-4FEF-9BCE-0D1A22C1A2AB@gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox