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

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