This is probably just a general DBI question but I get the following errors when I run my code: DBD::Pg::st fetchrow_array failed: no statement executing at ./snap.pl line 110. DBD::Pg::st fetchrow_array failed: no statement executing at ./snap.pl line 110. Line 110 is a disconnect statement: $target_dbh->disconnect(); I have multiple functions which access a target database, take the information and put it back into a repository. They all follow this format, the database handlers are passed in, statement handlers are created and closed at the end of the function. sub free_space { my $err=0; my ($repo_dbh, $target_dbh, $snap_id) = @_; my $target_sth = $target_dbh->prepare( q{ SELECT columns FROM the table }) or "Can't prepare statement: $DBI::errstr"; $target_sth->execute() or die $DBI::errstr; while (my ($data) = $target_sth->fetchrow_array()) { eval { $repo_sth = $repo_dbh->prepare("INSERT into thetable (columns) VALUES (?, '$data')"); $repo_sth->execute($snap_id) or die $DBI::errstr; }; } # check for errors.. If there are any rollback if ( $@ ) { $err = 1; } $repo_sth->finish(); $target_sth->finish(); return $err; } The main function just opens connections to the repository and target database and closes them at the end with disconnects and that is where the error is occuring. Any ideas? ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster