Thread: DBD::Pg is suddenly acting up!
Just today I started to receive the below errors. Now that I've stopped and restarted mod_perl server and postmaster none the scripts which rely on DBI work anymore. Can someone help me?? At first the error was intermittent but now it looks like permanent. I use Apache::DBI and makes persistent connection but that is not even working. I tested psql manually and everything seems to be fine. I am using mod_perl 1.25 and all was well until this morning. The server was brought online only a copule of days ago but the scripts and configuration have been working ok for over a month now -------------- Had to create DBD::Pg::dr::imp_data_size unexpectedly at /usr/lib/perl5/site_perl/5.005/i386-linux/D BI.pm line 687. Had to create DBD::Pg::db::imp_data_size unexpectedly at /usr/lib/perl5/site_perl/5.005/i386-linux/D BI.pm line 687. [Wed Feb 21 10:47:30 2001] [error] Undefined subroutine &DBD::Pg::db::_login called at /usr/lib/perl 5/site_perl/5.005/i386-linux/DBD/Pg.pm line 94. (in cleanup) Driver has not implemented DESTROY for DBI::db=HASH(0x86d3058) at /usr/lib/perl 5/site_perl/5.005/i386-linux/Apache/Registry.pm line 144
The problem mysteriously disappeared after I reinstalled postgres under /usr/local/pgsql instead of /home/newsreader/pgsql is that weird or what On Wed, Feb 21, 2001 at 04:45:09PM -0500, newsreader@mediaone.net wrote: > Just today I started to receive the below > errors. Now that I've stopped and restarted > mod_perl server and postmaster > none the scripts which rely on DBI work > anymore. Can someone help me?? > > At first the error was intermittent > but now it looks like permanent. > > I use Apache::DBI and makes persistent > connection but that is not even working. > > I tested psql manually and everything > seems to be fine. > > I am using mod_perl 1.25 and all was > well until this morning. The server > was brought online only a copule of > days ago but the scripts and configuration > have been working ok for over a month > now > > -------------- > Had to create DBD::Pg::dr::imp_data_size unexpectedly at /usr/lib/perl5/site_perl/5.005/i386-linux/D > BI.pm line 687. > Had to create DBD::Pg::db::imp_data_size unexpectedly at /usr/lib/perl5/site_perl/5.005/i386-linux/D > BI.pm line 687. > [Wed Feb 21 10:47:30 2001] [error] Undefined subroutine &DBD::Pg::db::_login called at /usr/lib/perl > 5/site_perl/5.005/i386-linux/DBD/Pg.pm line 94. > (in cleanup) Driver has not implemented DESTROY for DBI::db=HASH(0x86d3058) at /usr/lib/perl > 5/site_perl/5.005/i386-linux/Apache/Registry.pm line 144
> The problem mysteriously disappeared after I > reinstalled postgres under /usr/local/pgsql > instead of /home/newsreader/pgsql Was DBD::Pg installed with POSTGRES_INCLUDE and POSTGRES_LIB under usr/local/pgsql? Perhaps that's the problem? John -- # John Madden weez@freelists.org ICQ: 2EB9EA # FreeLists, Free mailing lists for all: http://www.freelists.org # UNIX Systems Engineer, Ivy Tech State College: http://www.ivy.tec.in.us # Linux, Apache, Perl and C: All the best things in life are free!
No.. it was originally installed with /home on this brand spanking new box and /usr/local directory does not exist before The thing is that my two web servers are run under two other user ids and only under web server environment these scripts were dying. I cooked up a test script which runs fine from the command line run under the id of the owner of pgsql. The same test script failed under web servers. It was working before... but I was messing around with permission on the home directories and somewhere along the line things got too restrict Only later in the day when I check logs I realise that things were wrong. BTW I wish later distributions will come with better start and stop scripts. pg_ctl is completely not working for me. I do $ pg_ctl -o "-F -S 2048" start and it keeps telling me I'm not doing it right. On Wed, Feb 21, 2001 at 06:53:33PM -0500, John Madden wrote: > > The problem mysteriously disappeared after I > > reinstalled postgres under /usr/local/pgsql > > instead of /home/newsreader/pgsql > > Was DBD::Pg installed with POSTGRES_INCLUDE and POSTGRES_LIB under > usr/local/pgsql? Perhaps that's the problem? > > > John > > > > > -- > # John Madden weez@freelists.org ICQ: 2EB9EA > # FreeLists, Free mailing lists for all: http://www.freelists.org > # UNIX Systems Engineer, Ivy Tech State College: http://www.ivy.tec.in.us > # Linux, Apache, Perl and C: All the best things in life are free!
newsreader@mediaone.net writes: > pg_ctl is completely not working for me. I do > $ pg_ctl -o "-F -S 2048" start > and it keeps telling me I'm not doing it right. Indeed, you are not. Try pg_ctl start -o "-F -S 2048" regards, tom lane
Thank you. Look what I get.. ------------------ $ pg_ctl start -o "-F -S 2048" postmaster successfully started up. $ usage: /home/newsreader/pgsql/bin/postmaster [options] -B nbufs set number of shared buffers -D datadir set data directory -S silent mode (disassociate from tty) -a system use this authentication system -b backend use a specific backend server executable -d [1-5] set debugging level -i listen on TCP/IP sockets as well as Unix domain socket -N nprocs set max number of backends (1..1024, default 32) -n don't reinitialize shared memory after abnormal exit -o option pass 'option' to each backend servers -p port specify port for postmaster to listen on -s send SIGSTOP to all backend servers if one dies --------------------- I've found that pg_ctl -o "-o -F -S 2048" start works as well as pg_ctl start -o "-o -F -S 2048" ------ If you read man page of pg_ctl you will see that it is telling you wrong On Wed, Feb 21, 2001 at 11:29:30PM -0500, Tom Lane wrote: > newsreader@mediaone.net writes: > > pg_ctl is completely not working for me. I do > > $ pg_ctl -o "-F -S 2048" start > > and it keeps telling me I'm not doing it right. > > Indeed, you are not. Try > pg_ctl start -o "-F -S 2048" > > regards, tom lane
BTW what is show below was done on a different machine where postgres is installed in a user directory.. Just to rule out confusion I had earlier I deleted bin lib include in the user home directory and reinstall it under /usr/local/pgsql and the problem still remains namely I have to supply extra -o to make it work. On Wed, Feb 21, 2001 at 11:43:46PM -0500, newsreader@mediaone.net wrote: > Thank you. Look what I get.. > ------------------ > $ pg_ctl start -o "-F -S 2048" > postmaster successfully started up. > $ usage: /home/newsreader/pgsql/bin/postmaster [options] > -B nbufs set number of shared buffers > -D datadir set data directory > -S silent mode (disassociate from tty) > -a system use this authentication system > -b backend use a specific backend server executable > -d [1-5] set debugging level > -i listen on TCP/IP sockets as well as Unix domain socket > -N nprocs set max number of backends (1..1024, default 32) > -n don't reinitialize shared memory after abnormal exit > -o option pass 'option' to each backend servers > -p port specify port for postmaster to listen on > -s send SIGSTOP to all backend servers if one dies > --------------------- > > > I've found that > pg_ctl -o "-o -F -S 2048" start > works as well as > pg_ctl start -o "-o -F -S 2048" > > ------ > If you read man page of pg_ctl you will see that > it is telling you wrong > > > > > > On Wed, Feb 21, 2001 at 11:29:30PM -0500, Tom Lane wrote: > > newsreader@mediaone.net writes: > > > pg_ctl is completely not working for me. I do > > > $ pg_ctl -o "-F -S 2048" start > > > and it keeps telling me I'm not doing it right. > > > > Indeed, you are not. Try > > pg_ctl start -o "-F -S 2048" > > > > regards, tom lane