perl and SQL question

Anton zav at
Tue Apr 4 10:13:13 CEST 2017


I have next code in perl module to communicate with postgresql:

our $pgclientsn = "DBI:Pg:dbname=mydb;host=;port=5432;";
sub CLONE {
  # remote psql
  $pgclientdbh = DBI->connect($pgclientsn, 'username', 'password',{AutoCommit => 1,pg_server_prepare => 1});

  # accoutning stop insert (?)
  $astopins = $pgclientdbh->prepare("INSERT INTO telephonecallacct (username,acctstarttime,acctstoptime,acctsessiontime,callingstationid,calledstationid,calldirection) VALUES (?,TO_TIMESTAMP(?),TO_TIMESTAMP(?),?,?,?,?)");
  # check service status for tel.number -- check number status
  $numstatcheck = $pgclientdbh->prepare("SELECT s.enabled FROM telephony_numbers AS tn, service AS s WHERE number = ? AND tn.sid =");

today postgres was unaccessible for 10 minits (some pg processes were core dumped). freeradius started responding "Invalid user" and stayed in
this state until the freeradius restart.

How should I modify perl code to restart sql connection automatically or periodically or something else to prevent sql connection problems ?
If this possible at all ?

More information about the Freeradius-Users mailing list