BUG #14790: pg_restore - segfault

From: soleuu(at)gmail(dot)com
To: pgsql-bugs(at)postgresql(dot)org
Cc: soleuu(at)gmail(dot)com
Subject: BUG #14790: pg_restore - segfault
Date: 2017-08-24 08:57:27
Message-ID: 20170824085727.8143.68564@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 14790
Logged by: Laurent Soulis
Email address: soleuu(at)gmail(dot)com
PostgreSQL version: 9.5.8
Operating system: linux - debian8 - amd64
Description:

Hello,

We are experiencing segfault during pg_restore.
The problem appear to be a mix with multiple jobs (-j option) and table Data
exclusion (-l option).
If we use 1 jobs and table exclusion => OK
if we use >=2 jobs without -l options => OK

We use a bash script every night to import prod database on dev
environnement.
Since this update from 9.5.7 to 9.5.8, those error appeared at the first
excluded table DATA.

Here is a sample database test where we have segfault.

-----------------------------------------
## shell commands

#create test database with some fake data
createdb test_import
/usr/lib/postgresql/9.5/bin/psql -c 'create table "aaa" as SELECT
generate_series(1,10000) AS id, md5(random()::text) AS descr;' test_import
/usr/lib/postgresql/9.5/bin/psql -c 'create table "bbb" as SELECT
generate_series(1,10000) AS id, md5(random()::text) AS descr;' test_import

#dump database
pg_dump -Fc test_import -f test_import.dump

#exclude some "table Data" from list
pg_restore -l test_import.dump | egrep -v 'TABLE DATA public ('"aaa"') ' >
test_dump.list

#import in new database
createdb test_import2
/usr/lib/postgresql/9.5/bin/pg_restore -v -Fc -L test_dump.list -j 5 -d
test_import2 test_import.dump
-----------------------------

pg_restore ouput (verbose):

pg_restore: connexion à la base de données pour la restauration
pg_restore: traitement de l'élément 2107 ENCODING ENCODING
pg_restore: traitement de l'élément 2108 STDSTRINGS STDSTRINGS
pg_restore: traitement de l'élément 2109 DATABASE test_import
pg_restore: traitement de l'élément 6 SCHEMA public
pg_restore: création de SCHEMA « public »
pg_restore: traitement de l'élément 1 EXTENSION plpgsql
pg_restore: création de EXTENSION « plpgsql »
pg_restore: traitement de l'élément 181 TABLE aaa
pg_restore: création de TABLE « public.aaa »
Erreur de segmentation

Laurent S.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Fabrízio de Royes Mello 2017-08-24 10:05:40 Re: BUG #14790: pg_restore - segfault
Previous Message Marcin Barczyński 2017-08-24 07:32:19 Re: BUG #14768: CREATE INDEX CONCURRENTLY IF NOT EXISTS cancels autovacuum even if the index already exists.