I am moving some web applications from Oracle to Postgres, and on one system
I’m getting the following error:
[Fri Oct 27 13:25:19.725785 2023] [:error] [pid 98181:tid 98230] DBD::Pg
initialisation failed: Can't locate object method "driver" via package
"DBD::Pg" at /usr/lib64/perl5/vendor_perl/DBI.pm line 829.\n\nPerhaps the
capitalisation of DBD 'Pg' isn't right. at
/home/allwebfiles/perl/LocalModules/Cal4Defaults.pm line 49.\nCompilation
failed in require at /home/allwebfiles/perl/LocalModules/Cal4HTML.pm line
10.\nBEGIN failed--compilation aborted at
/home/allwebfiles/perl/LocalModules/Cal4HTML.pm line 10.\nCompilation failed in
require at /home/allwebfiles/perl/roomgrid.pl line 8.\nBEGIN
failed--compilation aborted at /home/allwebfiles/perl/roomgrid.pl line 8.\n
Thing is this is the second server I'm working on, and the first is pretty much
identical
Both are Rocky Linux 9.5 (a replacement for CentOS)
DBD::Pg was installed via cpan Bundle::DBD::Pg
PostgreSQL and DBI both come from the Rocky repositories
The line 49 in the .pm in question is :
my $lda = DBI->connect("dbi:Pg:$dbname", $login, $dbpass, {RaiseError=>0,
AutoCommit=> 1, PrintError =>1});
$dbname is ‘db=my_db_name;host=my_postgres_host;port=3542’ and is the same on
the working system
All the references Ive found online regarding this error message were because
DBD::Pg wasn’t installed which is not the case:
cpan[1]> i Bundle::DBD::Pg
Reading '/root/.cpan/Metadata'
Database was generated on Thu, 26 Oct 2023 18:29:01 GMT
Bundle id = Bundle::DBD::Pg
CPAN_USERID TURNSTEP (Greg Sabino Mullane <[email protected]>)
CPAN_VERSION 3.17.0
CPAN_FILE T/TU/TURNSTEP/DBD-Pg-3.17.0.tar.gz
UPLOAD_DATE 2023-08-24
MANPAGE Bundle::DBD::Pg - A bundle to install all DBD::Pg related
modules
CONTAINS DBI DBD::Pg
INST_FILE /root/.cpan/Bundle/DBD/Pg.pm
INST_VERSION 3.17.0
Any ideas?
--
Bruce Johnson
University of Arizona
College of Pharmacy
Information Technology Group
Institutions do not have opinions, merely customs