Tech Articles


Defining a PostgreSQL Database Profile in PB2019R3


PB2019R3
PostgreSQL v12 database


Summary:
   Ensure that the database properties are defined correctly for the PostgreSQL database in the DB Painter.

   If those properties are not defined correctly, the PB2019R3 IDE automatically creates the PB Catalog tables in the "public" schema every time it connects to the PostgreSQL (PG) database even if the catalog tables are already defined in the named "PowerBuilder Catalog Table Owner" schema.

 

Details:
In our Oracle schemas, we have the PB Catalog table owner specified as the superuser CHADBA.


Once created in Oracle, the catalog tables are in the CHADBA schema.


The PB IDE opens up smoothly with NO prompt to "Create the PowerBuilder catalog tables."

~~~~~~~~~~~

We are in the process of migrating to PostgreSQL (PG).
 - PG is case sensitive, and in our case all table and columns names are in lower case.
 - Note: Users can migrate to an UPPER or a LOWER case copy. Choose the LOWER case to eliminate a variety of
            issues.

Our PG development database also has the PB catalog tables defined in the chadba schema.
We set up the PG database mostly in the same way we set up the Oracle databases; chadba is in lowercase:






Defined in this manner, the IDE opens up smoothly and does not give you the "PB catalog tables not available" message.

- - - - - - - - - - -

If the setup is NOT done correctly, then when I open PB2019R3 and the connection is to my dev12c_PG database, PowerBuilder creates the complete set of catalog tables in the public schema, but does not populate either of the new the EDT or FMT catalog tables.

Thus when I get into the DB Painter and "select * from pbcatfmt;" the result set is empty. Why? Because the new set of tables defined in "public" are overriding the set of tables previously defined in "chadba".

I have to manually delete the public.pbcat* tables ....

drop table public.pbcatcol;
drop table public.pbcattbl;
drop table public.pbcatfmt;
drop table public.pbcatvld;
drop table public.pbcatedt;
commit;

.... before I have access to the FMT and EDT data again:

-- pbcattbl, pbcatcol, pbcatfmt, pbcatvld, pbcatedt
//drop table public.pbcatcol;
//drop table public.pbcattbl;
//drop table public.pbcatfmt;
//drop table public.pbcatvld;
//drop table public.pbcatedt;
//commit;

select * from pbcatfmt;

 

 

Comments (0)
There are no comments posted here yet

Find Articles by Tag

RibbonBar Builder ODBC Messagging Script Window DataWindow Azure PowerBuilder (Appeon) .NET Assembly OLE PowerBuilder Compiler XML OAuth Database Object DragDrop Testing HTTPClient Git Android Event Handler UI SQL Server SqlExecutor Oracle Variable TortoiseGit Automated Testing BLOB File JSONGenerator Syntax PowerServer Mobile External Functions Sort Installation SQL C# Database Profile Class DevOps PBVM Authentication Expression Bug Encryption Event Handling Visual Studio PDFlib Branch & Merge Debugger TLS/SSL PowerServer Web Menu Open Source PostgreSQL ODBC driver Deployment Data DataWindow JSON IDE API Icon MessageBox JSON 64-bit OAuth 2.0 Export JSON NativePDF Event SOAP Trial Debugging Text Linux OS Source Control PFC Charts PostgreSQL SVN Error DataType Debug Stored Procedure TFS InfoMaker WebBrowser .NET DataStore RESTClient Array Migration RichTextEdit Control Import Web Service Proxy CrypterObject WinAPI Transaction 32-bit Interface Authorization REST Graph Validation DLL OrcaScript Database Painter Windows 10 Icons PBNI UI Modernization Web API Database Table JSONParser Platform Database Connection Model Service CI/CD .NET Std Framework Outlook License UI Themes Export Windows OS Encoding Design Repository TreeView RibbonBar Performance COM GhostScript Database Mobile Configuration Resize PDF CoderObject Excel Filter SnapDevelop SnapObjects Elevate Conference Database Table Schema SqlModelMapper Source Code PowerBuilder SDK Jenkins Database Table Data Application PowerScript (PS) iOS Import JSON ActiveX PBDOM