I finally got some help in this.
It seems that the Eclipe IDE already performs the function of the ForName() call in this case, based on how EDB specified their driver in their JAR file.
1. I re-downloaded the JAR file from EBD: postgresql-42.2.23.jar.
2. I added this JAR file to the ExternalJar files of the Eclipse IDE.
3. I ensure that the JAR file was in the Build PAth.
4. In my new class "ConnectPostGreSQL()", I commended out line 81:
5. In the PowerBuilder 2019R3 code, I wrote a new function to create the PostgreSQL connection string used in the sqlca.DBPARM slot.
//*********************************************************************
// Object : corp_n_cst_appmanager
// Function : of_build_PG_connect_string()
//
// Ancestor : None
// Access : Public
// Arguments : value string as_userid account userid
// value string as_password account password
// value string as_regdata data from the Registry
//
// Returns : String The CONNECTION string
// Throws : None
//
// Description : Read the INI file and create the DBPARMS string
// needed to connect to a PostgreSQL database.
//
// We us an INI file because the string created by
// reading entries from the Windows Registry does not
// work when the CONNECT is called.
//
//********************************************************************
// Revision History
//
// Developer Date Version Description
// --------- ----------- --------- -------------------------------
// O Knight 17-JUN-2021 6.0.4.37 #2026345: Initial installation.
//
//********************************************************************
// COPYRIGHT © 2021 <name> INTERNATIONAL, INC. AND/OR ITS
// AFFILIATES (“CSG”). ALL RIGHTS RESERVED.
//********************************************************************
long ll_len, ll_pos, ll_start, ll_end, ll_slashhat
string ls_value, ls_regdata, ls_DBParm, ls_data
// Init
ls_regdata = Lower (as_regdata) // Lower the Registry Data
// as_regdata = ls_dbconnections[ll_conn] = the connection data components string
//
// is_dbconnections [ll_noDbConn] = &
// ls_dbDisplayString + "," + &
// ls_dbmsver + "," + &
// ls_connectString + &
// "/^" + &
// ls_dbms + &
// ";Driver=" + ls_driver + &
// ";DatabaseName=" + ls_database + &
// ";ServerIpAddr=" + ls_ip_address + &
// ";Port=" + ls_port + &
// ";ConnectParms=" + ls_conparms
//
// Example finished entry:
// dev12c_PG,POSTGRESQL, &
// ConnectString='Driver=<driver>;Database=<db>;Server=<ip>;Port=<port>;UID=<userid>;PWD=<password>;',/^PostgreSQL;Driver=PostgreSQL Unicode;DatabaseName=ls_datatase;ServerIpAddr=10.50.68.244;Port=5444; &
// ConnectParms=DisableBind=1,UseServerSidePrepare=1,PBCatalogOwner='chadba',StripParmNames='Yes'
//
// Extract the DBPARM string to be populated
ll_start = POS (ls_regdata, "connectstring", 1)
ll_slashhat = POS (ls_regdata, "/^", ll_start)
ll_len = ll_slashhat - ll_start
ls_DBParm = MID (ls_regdata, ll_start, ll_len)
// The connection string has placeholders that need to be replaced with actual values
// ls_DBParm =
// connectstring='driver=<driver>;database=<db>;server=<ip>;port=<port>;uid=<userid>;pwd=<password>;',
// Replace the DRIVER
ll_start = POS (Lower(ls_regdata), "driver=", ll_slashhat) + 7 // Driver=PostgreSQL Unicode;
ll_end = POS (ls_regdata, ";", (ll_start + 1))
ll_len = ll_end - ll_start
ls_data = MID (ls_regdata, ll_start, ll_len) // Extract the driver
ll_start = POS (Lower(ls_DBParm), "<driver>", 1)
ll_len = 8
ls_DBParm = Replace (ls_DBParm, ll_start, ll_len, ls_data)
// Replace the DATABASE
ll_start = POS (ls_regdata, "databasename=", ll_slashhat) + 13 // DatabaseName=nttest;
ll_end = POS (ls_regdata, ";", (ll_start + 1))
ll_len = ll_end - ll_start
ls_data = MID (ls_regdata, ll_start, ll_len) // Extract the database name
ll_start = POS (Lower(ls_DBParm), "<db>", 1)
ll_len = 4
ls_DBParm = Replace (ls_DBParm, ll_start, ll_len, ls_data)
// Replace the SERVER IP ADDRESS
ll_start = POS (ls_regdata, "serveripaddr=", ll_slashhat) + 13 // ServerIpAddr=10.50.68.244;
ll_end = POS (ls_regdata, ";", (ll_start + 1))
ll_len = ll_end - ll_start
ls_data = MID (ls_regdata, ll_start, ll_len) // Extract the server ip address
ll_start = POS (Lower(ls_DBParm), "<ip>", 1)
ll_len = 4
ls_DBParm = Replace (ls_DBParm, ll_start, ll_len, ls_data)
// Replace the PORT
ll_start = POS (Lower(ls_regdata), "port=", ll_slashhat) + 5 // Port=5444;
ll_end = POS (ls_regdata, ";", (ll_start + 1))
ll_len = ll_end - ll_start
ls_data = MID (ls_regdata, ll_start, ll_len) // Extract the port number
ll_start = POS (Lower(ls_DBParm), "<port>", 1)
ll_len = 6
ls_DBParm = Replace (ls_DBParm, ll_start, ll_len, ls_data)
// Replace the userid
ll_start = POS (Lower(ls_DBParm), "<userid>", 1)
ll_len = 8
ls_DBParm = Replace (ls_DBParm, ll_start, ll_len, as_userid)
// Replace the password
ll_start = POS (Lower(ls_DBParm), "<password>", 1)
ll_len = 10
ls_DBParm = Replace (ls_DBParm, ll_start, ll_len, as_password)
// Add the connection parameters
ll_start = POS (Lower(ls_regdata), "connectparms=", 1) + 13 // ConnectParms=DisableBind=1,.....
ls_data = MID (ls_regdata, ll_start, 9999) // Last data segment in ls_regdata
ls_DBParm = ls_DBParm + "," + ls_data
// Set up to connect with a DNS-less connection
// These work:
// SQLCA.DBParm = ConnectString='Driver=PostgreSQL Unicode;Database=nttest;Server=10.50.68.244; Port=5444;UID=cabdevusr;PWD=cabdevusr;',DisableBind=1
// SQLCA.DBParm = ConnectString='Driver=PostgreSQL Unicode;Database=nttest;Server=10.50.68.244; Port=5444;UID=cabdevusr;PWD=cabdevusr;',DisableBind=1,UseServerSidePrepare=1,PBCatalogOwner='chadba',StripParmNames='Yes'
RETURN ls_DBParm