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

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