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

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