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

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