Dear community,
We’re thrilled to announce that we have recently released PostgreSQL Database Connector. This connector is available out-of-the-box and fully OutSystems supported from 11.15.0 and above.
If you are using the ardoPostgreSQL connector, we would like to inform you that connector is using unsupported/undocumented platform capabilities that can be changed in the future. Furthermore, with the new release, 11.15.0, we have upgraded the driver that both the platform and the ardoPostgreSQL connector are using. Preliminary tests show that ardoPostgreSQL will keep basic functionalities working. However, in order to reassure that your applications using the community base ardoPostgreSQL have not been affected, we suggest thoroughly testing your applications upon upgrade.
On the other hand, we strongly advise replacing the existing connector and related extensions with the new supported PostgreSQL connector. More information on the available documentation, but in a broad-strokes, these are the necessary steps to replace existing non-supported connector:
Create a new PostgreSQL external database connection using the official connector (Service Center);
Create and publish new extensions using the official connector for each extension using the third party connector, use the new database provider when configuring the logical database (Service Center);
Update and Republish any modules that consume the old extensions to use the new extensions and ensure they are not left with outdated references.
Test the application.
A final note on some of the advantages of the new PostgreSQL connector:
Fully OutSystems supported;
Supports Aurora and Generic PostgreSQL, versions 12 and 13;
Use Integration Builder with a smoother experience for selecting and configuring database connectors.
Cheers,Integration Builder team
I wanna ask in my platform on premises (Version 11.18.1 ) why i can't define and explore 2 or more database in postgreSQL.
In servicecenter i created 1 connectionstring define database and in integration studio outsystems just show 1 database only, but when i create connstring in MSSQLServer, in integration studio can show 2 or more databases.
Can you show me how to explore just only 1 connectsting PostgreSQL and can explore 2 or more databases postgresql ?
For more information on what the Database Integration API and SDK are, this video (18 minutes) provides a good introduction.
Currently, the Database Integration API SDK capability is under Limited Access. We are doing a slow rollout in order to fine-tune the SDK for the general public. However, this doesn't mean the Database API is in beta. It is not. It can be used in Production.
If you would like to build your own database integration plugin, enroll in the Limited Access Program by contacting us at support@outsystems.com.
Note1: Although the SDK is fully supported but under limited access, OutSystems does not provide any support for the connectors third parties built using this SDK.
Note: in order to use ardoRic's PostgreSQL database connector you do not need the SDK. A database plugin, created with the SDK can be installed standalone. You only need the SDK if you’re planning to build your own database plugin (or modify ardoRIc’s connector).
There are many great companies that use PostgreSQL
Ricardo Silva wrote:
ProstgreSQL is the RDBMS that comes built-in with HevoData, a unified data platform. You can effortlessly ingest both structured and unstructured data from Web Logs, Databases, Social Media, Cloud Applications and a lot more.For more info :- https://hevodata.com
Hi,
Just wondering if you have some workaround for the error encountered once we used Foreign Key identifier for different tables on Postgre.
Has the connector been updated to address this issue? The email below was posted on 2016-02-11; the GitHub repo was last updated shortly before that.
Hello Ken,
Yes, the version that was posted on git prior to me updating this thread should include the fix to work in P9.1.
However, I did not get around to add support for Long Integers.
Maybe it'll happen now that OutSystems 10 is out :)
Correction. I'm sorry but no.
The repository was not updated. Thing is, what I needed to do was rebuild the connector with a different version of the SDK and that isn't a part of the repository.
I don't believe any change to the code was required, only to one of its dependencies.
You need to download the ardoPGSQL_QF.zip which I attached to my reply to Braxton.
Does anyone know if the Database Integration API has been removed? Found this post and though it would be great to write a wrapper around a proprietary interface to our own system but after contacting Outsystems support the response was just sorry you cant do it :(,.
The Database Integration API has not been removed.
Do you have an ADO.NET or JDBC driver for your system? If so, and if it behaves like a database, you should be able to use the Database Integration API.
No we don't have ado.net or jdbc drivers. I've looked through what documentation I can find and your code plus this presentation https://fast.wistia.net/embed/iframe/6aec9pc3r8?popover=true and realise that it will be hard but should be possible. The problem I'm having is that I when I try asking Outsystems support for access to the API they just keep saying "Unfortunately, as a non-supported database we don't have a workaround in order you to achieve such functionalities (scaffolding and data access)."
Investigating deeper and we can create our own ado.net driver if needed.
In that case, and if you are confident that your system behaves like a database (has tables with attributes against whom SQL queries can be made), I suggest you to contact support asking explicitly for access to the Database Integration API.
This way you can explore this venue.
yeah that's what I was trying to do but didn't get anywhere. Trying again.
Ricardo,
One question...
Is possible to user this plugin in my personal environment in any way?
No, it's not possible to add additional database integration plugins on your personal environment.
You should install the platform on-premises or buy a full fledged PaaS in order to be able to make use of this plugin.
To everyone who might be interested, I have just released version 1.0 of ardoPostgreSQL database integration plugin.
It's for version 10 of OutSystems and should completely conform to the same introspection standards as the built-in plugins.
All feedback is welcome :)
Good job on this plugin.
It's very useful...
Is this available for both stack?
Can you point me out how to getting started on creating database plugin myself?
Thank you very much.
Hello Harlin,
The plugin is available and fully supported for both .NET and Java stacks.
In order to build your own plugin you just need to get in touch with our Product Management to get access to the limited availability program surrounding the Database Integration API.
You have more information in this post from Arlindo.
Richardo,
Do we still need to do this boolean workaround in 1.0?
https://github.com/ardoric/ardoPostgreSQL/issues/2
yes
Great:)
By the way which postgresql version does this database connector support?
well, I tested it against PostgreSQL 9.4 server.
The previous version was tested against 9.1 mainly, but not much changed since then.
The language is the same, so I'd say it supports whatever the base driver supports. If you find any issue with a specific version, please let me know and I'll try and look into it.
Hi Ricardo,
It's possible to install this Database Connector on OutSystems Enterprise PaaS environments?
Last time I checked it was.
Simply make a request to Support and we'll follow up.
Thanks ;)
Hi guys,
I'm running Outsystems Development Env 10 and have downloaded and installed PostgreSQL but can't see it available in the service centre to select it?
Thanks
Hello John,
I notice you placed the same question on this thread. I'll reply there to avoid cluttering this thread with troubleshooting.
Best regards,
Ricardo Silva
So quoting several post on this thread. Is it now possible to install OS platform with postgresql as system db?
And just curious why the plugin is only on github but not on forge?
Hello Eric,
No, still not possible to install the platform in PostgreSQL. This connector only allows you to integrate with PostgreSQL external databases.
The plugin is not on the Forge because the Forge is for modules (espaces, extensions, applications). It does not support this kind of plugins.
Any plans for a Sybase Connector ?
IC thanks @Ricardo Silva
We were able to install this connector on our Development & QA environments with no issues. However, when we try publishing to our pre-production environment, we are getting this error:
An error occurred while publishing the Extension: System.InvalidOperationException: Internal Error: Invalid compiler output.No provider registered for key ardoPGSQL at #mgc.#Ogc.#0ec(#Rt extension, OutSystemsCompilerWrapper outSystemsCompilerWrapper, HEMessageArrayList messages, String& updatePublicElementSQLTemplate, IEnumerable`1& extraDependencyFiles) at OutSystems.HubEdition.DeploymentController.Extensions.XIFPublisher.PublishExtension(ExtensionCaches extensionCaches, OutSystemsCompilerWrapper outSystemsCompilerWrapper, Int32 extensionVersionId, Int32 developerId, Boolean switchPublishedVersion, ICompilerContext context, Boolean fromSolutionPublish, String& extensionName, HEMessageArrayList& messages)
Is there somewhere we need to look to troubleshoot and resolve the issue?
Hello Rebecca,
Almost every time I saw this issue it was due to the DLL being blocked.
You should go to C:\Program Files\OutSystems\Platform Server\plugins\database, right click the DLL and check the Unblock checkbox
This solved the problem. The files were blocked and once we restarted the services it worked perfectly. Thanks for your time.
Hello ,
Can you please help me some one to resolve the slimier error.
Actually we have developed a customer database connection for Informix database, It was working well, but after updating the Oustystems version we have reconfigured the plugin again after we start getting the error only when publishing the application, during the development time I can able to connect the database and able to preview the records from database but when run the published app getting following error.
Timer SyncEcommerceOrderFromSirius error (inside action 'SyncShippingListFromSirius'). Timer duration = 0 secs:No provider registered for key Informix [retry 3 of 3 scheduled]
Environment InformationeSpaceVer: Id=73777, PubId=0, CompiledWith=11.21.0.39357RequestUrl: http://127.0.0.1/OMS_Core/_TimerHandler.asmx (Method: POST)AppDomain: /LM/W3SVC/1/ROOT/OMS_Core-66-133319271271494541FilePath: E:\...\PS\running\OMS_Core.02138652636\ClientIp: 127.0.0.1Locale: en-USDateFormat: dd-MM-yyyyPID: 4484 ('w3wp', Started='22/06/2023 13:45:12', Priv=1516Mb, Virt=2108090Mb)TID: 11Thread Name:.NET: 4.0.30319.42000
OutSystems.HubEdition.DatabaseAbstractionLayer.Platform.Configuration.DatabaseSettingsSerialization+ConfigurationUnWrapException: No provider registered for key Informix ---> System.InvalidOperationException: No provider registered for key Informix at OutSystems.RuntimeCommon.Extensibility.Plugins.AbstractPluginProvider`2.OnMissingPluginImplementation(KeyType providerKey) at OutSystems.RuntimeCommon.Extensibility.Plugins.AbstractPluginProvider`2.GetImplementation(KeyType providerKey, Func`2 OnMissingPluginImplementationOverride) at OutSystems.Internal.Db.DatabaseAccess.<>c.rpf#wkdcsrcj(DatabaseProviderKey bv) at OutSystems.HubEdition.DatabaseAbstractionLayer.Platform.Configuration.IntegrationDeserializer.Deserialize(String serialized, Func`2 valueDecrypter) --- End of inner exception stack trace --- at OutSystems.HubEdition.DatabaseAbstractionLayer.Platform.Configuration.IntegrationDeserializer.Deserialize(String serialized, Func`2 valueDecrypter) at rpf#tcuerhba.rpf#yrtwlspp[e,f,g](e dk, String dl, Func`2 dm, Action`2 dn, g dp) at OutSystems.Internal.Db.DatabaseAccess.rpf#hdmucdlp(String bh) at OutSystems.Internal.Db.DatabaseAccess.GetDBConnectionProvider(String connectionName) at ssOMS_Core.Actions.FuncActionSyncShippingListFromSirius.datasetGetEcEncomendaBoxes(HeContext heContext, Int32 maxRecords, IterationMultiplicity multiplicity, Int64& outParamCount) at ssOMS_Core.Actions.ActionSyncShippingListFromSirius(HeContext heContext) at ssOMS_Core.TimerSyncEcommerceOrderFromSirius.Execute(HeContext heContext, Int32 timeout)
Hi all,
Just wondering if you have hit any issues using an AWS RDS hosted postgres database where the force.SSL parameter is true. Even though I include 'ssl=true' or 'sslmode = require' in my connections string it still fails were that string works in pgAdmin.
The only workaround I have found is to turn off the paremeter on my RDS, which is not ideal.
Thanks in advance
Hello Arvin,
I'm not aware of any error to happen when you use a foreign key.
The error you are getting seems to be related to the underlying type. For some reason it seems to be marked as Text when it should be "Long Integer".
You should be able to correct this in Integration Studio by changing the data type for the column.
If you're still having troubles with this, drop me a PM (this thread should not be used for troubleshooting).
Hi
we are encountering some issues regarding this.
we have set the statement_timeout to 0 but we are still encountering the error
cancelling statement due to statement timeout
Do the installation instructions apply to those of us using the Personal Environment? To my knowledge we don't have the ability to stop/start Outsystems services including IIS being that it's hosted in cloud.
Thanks,
Scott
Hi Scott,
No, it is not possible to do this in Personals.
From Ricardo answer above:
"No, it's not possible to add additional database integration plugins on your personal environment.
You should install the platform on-premises or buy a full fledged PaaS in order to be able to make use of this plugin."
Cheers
I've been using this connector on OutSystems 10 for some months without problems.
Now we're considering upgrading to OutSystems 11, so I'm curious if anyone has already tried that out. Have there been any changes to the Database Integration API, or can we expect smooth sailing after upgrade? Do we perhaps need to perform a re-install?
Tolli
Tolli wrote:
Following up on this - for various other reasons (new OS, lifetime moved to separate server, ...) we installed everything on fresh servers (using the same databases) - and installation of the PostgreSQL connector, and subsequent usage, worked like a charm. :)
Best regards,Tolli
Hello,
I am trying to develop a connector for informix as similar to ardopostgresql.
I am using outsystems 11. When i deploy to platform server and compiling the espace i getting the below exception. Could any one help on this error. Thanks in Advance.
[Error] Internal ErrorCompilation Error.referencesProxy\Extension_IntegrationStudio_proxy.cs(23,22):error CS0012: The type 'System.Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.public partial class RssExtensionIntegrationStudio {bin\OutSystems.RuntimeCommon.dll: (Location of symbol related to previous error)bin\OutSystems.HubEdition.RuntimePlatform.dll: (Location of symbol related to previous error)
Hello Vikram,
It's always better to create a new topic.
The error, it seems, is because you are using an assembly, in your extension, but you forgot to add it to the extension Resources folder. Any external assembly must be referenced there, or it will not be sent to the server when you are publishing the extension and you will have errors like this.
Hope this helps.
Cheers.
Eduardo Jauch wrote:
Ok. I will create a new topic.
But i am not any of the external libraries. I am only referencing the below libraries and for your information this is not a extension which is more like the ardopostgresql which is the database connector globally.
The error, it seems, is because you are using an assembly, in your extension, but you forgot to add it to the extension Resources folder.Any external assembly must be referenced there, or it will not be sent to the server when you are publishing the extension and you will have errors like this.
Fair enough, Vikram,
Never did a connector. I assumed it used an Extension.Indeed. Looking more closely to the error, it seems it is missing the netstandard 2.0.0.0 assembly
Here is some discussion and possible solution: https://github.com/dotnet/standard/issues/542
I already tried adding as a nuget package and also as a reference include option. But it didn't work.
I curious about how we need to add the reference assembly to the web config dynamically. Because each time it is compiling and hosting a new folder of the service center.
Could any one help me on that?
I would say the best option now is to create a new post (to gain visibility).But also, to create a ticket with the support, as they will probably have the answer for that as well.
Is there an issue accesing views? Only the tables are listed on the wizzard.
The user permissions seems to be OK (accesing from pgadmin works fine to access and query the views).
OS11 (.Net) + PG9.6
Regards.
Are there any sample exercises or sample server/hosts to practice using POSTgresql.
https://success.outsystems.com/support/release_notes/11/outsystems_11_side_effects_and_breaking_changes/#introduced-in-platform-server-11.18.0