Обсуждение: BUG #14280: Error in PostgreSQL - could not extend file "base...": File too large

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

BUG #14280: Error in PostgreSQL - could not extend file "base...": File too large

От
prikshat@cadence.com
Дата:
VGhlIGZvbGxvd2luZyBidWcgaGFzIGJlZW4gbG9nZ2VkIG9uIHRoZSB3ZWJz
aXRlOgoKQnVnIHJlZmVyZW5jZTogICAgICAxNDI4MApMb2dnZWQgYnk6ICAg
ICAgICAgIFByaWtzaGF0IEhlZXJhCkVtYWlsIGFkZHJlc3M6ICAgICAgcHJp
a3NoYXRAY2FkZW5jZS5jb20KUG9zdGdyZVNRTCB2ZXJzaW9uOiA5LjIuMTYK
T3BlcmF0aW5nIHN5c3RlbTogICBMaW51eApEZXNjcmlwdGlvbjogICAgICAg
IAoKQSB0YWJsZSBoYXMgNDAwIGNvbHVtbnMuIFdoaWxlIGluc2VydGluZyBk
YXRhIGludG8gdGhpcyB0YWJsZSwgV2UgYXJlCmdldHRpbmcgdGhlIGVycm9y
IC0gImNvdWxkIG5vdCBleHRlbmQgZmlsZSAiYmFzZS8xNjM4NS8xNjg3MiI6
IEZpbGUgdG9vCmxhcmdlIi4NCkFmdGVyIHRoYXQsIHdlIHZhY3V1bW0nZWQg
YW5kIHJlaW5kZXgnZWQgdGhlIHRhYmxlIGFuZCBpbnNlcnQgd29ya2VkIGZp
bmUuDQpQbGVhc2UgZXZhbHVhdGUgYW5kIGxldCB1cyBrbm93IGlmIHRoaXMg
aGFzIGJlZW4gZml4ZWQgaW4gOS4zID8KCg==

Re: BUG #14280: Error in PostgreSQL - could not extend file "base...": File too large

От
"David G. Johnston"
Дата:
On Fri, Aug 5, 2016 at 2:41 AM, <prikshat@cadence.com> wrote:

> The following bug has been logged on the website:
>
> Bug reference:      14280
> Logged by:          Prikshat Heera
> Email address:      prikshat@cadence.com
> PostgreSQL version: 9.2.16
> Operating system:   Linux
> Description:
>
> A table has 400 columns. While inserting data into this table, We are
> getting the error - "could not extend file "base/16385/16872": File too
> large".
> After that, we vacuumm'ed and reindex'ed the table and insert worked fine=
.
> Please evaluate and let us know if this has been fixed in 9.3 ?
>

=E2=80=8BMost likely whatever "it" is has not been fixed.  9.2 is still act=
ive =E2=80=8Bso
any fix would have been back-patched to it.  If "the problem" goes away in
9.3 is would be purely coincidental.

With the information provided diagnostics seems problematic - since it
would likely first require getting a machine into the failing mode which
your's no longer is and there is no obvious reproduction approach.

Which Linux?

Possibly a bit more guessing could be had from someone knowledgeable with
the code surrounding that error path but this is awfully light, transient,
and potentially machine specific, to track down.  Working toward
reproduction or posting back while the machine is failing (if it ever comes
up again) seem like necessary next steps.

David J.

Re: BUG #14280: Error in PostgreSQL - could not extend file "base...": File too large

От
Tom Lane
Дата:
"David G. Johnston" <david.g.johnston@gmail.com> writes:
> On Fri, Aug 5, 2016 at 2:41 AM, <prikshat@cadence.com> wrote:
>> A table has 400 columns. While inserting data into this table, We are
>> getting the error - "could not extend file "base/16385/16872": File too
>> large".

> Possibly a bit more guessing could be had from someone knowledgeable with
> the code surrounding that error path but this is awfully light, transient,
> and potentially machine specific, to track down.

"File too large" is EFBIG, which ordinarily I'd say is impossible because
we don't let individual files exceed 1GB, precisely to avoid the type of
filesystem limitation that would be reported with this error code.
However, the man page for write(2) on my Linux box saith

       EFBIG  An attempt was made to write a file that exceeds the implementa-
              tion-defined maximum file size or the process's file size limit,
              or to write at a position past the maximum allowed offset.

So that gives us a plausible explanation after all: you have an active file
size limit imposed on the backend processes, and it was reached by this
particular process.  What made the error go away was simply using a fresh
backend session.  You'll want to turn off the restriction before starting
the postmaster, though.  See ulimit.

            regards, tom lane