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

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