Re: [QUESTIONS] Postgres still dying on insert - Mailing list pgsql-hackers

From Robert Hiltibidal
Subject Re: [QUESTIONS] Postgres still dying on insert
Date
Msg-id 3.0.3.32.19980428071553.00ac9100@springpatch.com
Whole thread Raw
In response to Re: [QUESTIONS] Postgres still dying on insert  (Ralf Berger <Ralf.Berger@ipk.fhg.de>)
List pgsql-hackers
Howdy,

I just moved our existing customer database from 6.2.1 to 6.3.2. I couldn't
get the pg_dump command to work right so I made the following script.

The end result was I made over 8000 insertions in under an hour without a
failure. A random sampling of different areas shows the records made it
over intact.

I had problems with 6.3.1 but 6.3.2 seems to be ok.. My big wish list is
for access97 to seamlessly work with it....

-Rob


NOTE: This mess was a quick hack job with no commenting... took me about 5
minutes to make. IF only I could code C++ that fast... Anyway just type
datawarez.pl <filename>
where <filename> is the name of the table.

The file is generated from an earlier version of Postgres using \o
<filename> and then a select * from <filename>; at the command prompt.

This perl script does single line queries only. No Transactions.

-r

#! /usr/bin/perl
#
# PROGRAM: DATAWAREZ.PL         DATE: 28-APR-98
# CREATOR: ROBERT HILTIBIDAL
#
# PURPOSE: DATAWAREZ,PL takes the data file from the command line and
#          then outouts each line as a queruy to the database

# Get the filename
$file = $ARGV[0];

# Set the count variable
$count = 0;

# Start the mess
open(sql,"$file");
while (<sql>) {
  if ($count == 0) {
     @fields = split(/\|/,$_);
     $fields[$#fields] =~ s/\n//g;
  }
  else {
     @data = split(/\|/,$_);
     $data[$#data] =~ s/\n//g;
     $data[$#data] =~ s/\r//g;
     $data[$#data] =~ s/\f//g;
  }
  $count++;
  if ($count > 1) {
     $query = "Insert into $file (";
     $fieldcount =0;
     foreach $element (@fields) {
        if ($fieldcount == $#fields) {
           $query .= "$element)";
        }
        else {
           $query .= "$element,";
        }
        $fieldcount++;
     }
     $query .= " VALUES (";
     $datcount = 0;
     foreach $element (@data) {
        if ($datcount == $#data) {
           $query .= "\'$element\');";
        }
        else {
           $query .= "\'$element\',";
        }
        $datcount++;
     }
     print "$query \n\n";
     @results = `/usr/local/pgsql/bin/psql -t -A -q -d YOURDB -c "$query"`;
     print @results,"\n\n";

  }
}
close sql;






At 11:30 AM 4/28/98 +0200, Ralf Berger wrote:
>Hello,
>
>I've a very similiar problem with postgres 6.3.1.
>The postmaster dies with no comment on insertion on my Linux 2.0.33
>96MB box, when I whant to create a new user. (I've postet the problem
>with no response.)
>I've track it down to an insert to pg_user.
>
>Because of my lack of time I downgrate to 6.2.1, and all whent well.
>
>I assume the cause is in my limited disk-place (about 30MB on the
>disk where the database reside).
>
>I have not testet 6.3.2.
>
>    Ralf
>
>--
>Fraunhofer IPK
>Dipl.-Inform. Ralf Berger
>Pascalstr. 8-9
>10587 Berlin
>
>Tel.: ++49-(0)30 390 06 129
>Fax.: ++49-(0)30 391 10 37
>
>---
>
>In anything at all, perfection is finally attained not when
>there is no longer anything to add, but when there is
>no longer anything to take away.
>
>Antoine de Saint Exupery
>--
>Official WWW Site: http://www.postgresql.org
>Online Docs & FAQ: http://www.postgresql.org/docs
>Searchable Lists: http://www.postgresql.org/mhonarc
>
>

##########################################################
Robert Hiltibidal                     Office  217-544-2775
Systems Programmer                    Fax     217-527-3550
FGInet, Inc
rob@fgi.net
morgan@springpatch.com


pgsql-hackers by date:

Previous
From: "Oliver Elphick"
Date:
Subject: Patch for NOTICE messages to PQfn() from backend
Next
From: The Hermit Hacker
Date:
Subject: Re: [HACKERS] Re: User names cannot contain `-'