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

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