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

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