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

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