PostgreSQL installers and versions
This post covers our experiences of using PostgreSQL for development purposes on Windows machines.
During testing and development of the PostgreSQL database provider we tested different versions of the database itself as well as the different installers available for Windows.
We have tested PostgreSQL versions 9.6, 10 and 12 but there are no reasons why older versions should not work. The testing and development has been on Windows 10 64 bit computers with 64bit installers.
PostgreSQL can be downloaded from https://www.postgresql.org/download/windows/ and you can choose between two distributions or installers. The two installers are bundled a little differently. Please read the following notes on our experiences with the two.
Relatude CMS uses the Npgsql driver and as of august 2020 the current version is 4.1.
From the release notes: ".NET Framework 4.5, 4.5.1 and 4.5.2 are no longer supported. .NET Framework 4.6.1 and .NET Standard 2.0 are the lowest supported versions."
The Interactive installer by EnterpriseDB
This installer is bundled with the web based pgAdmin 4.
It is only version 12.x that have been successfully installed and worked perfectly in our tests.
Test of older versions have also been installed successfully but we've experienced som trouble using pgAdmin, where creating databases or showing properties of a database would display an error. The database would still be created, but only visible after a refresh of the page. Properties of databases never worked.
We belive these problems was related to collation/locale issues.
We recommend creating a folder outside Program files as installation directory and data directory, and to give the Users group "Full control" to this folder. Not doing so has always given an error during installation, on all versions.
Aside changing the installation directory we've always accepted default values during installation.
Graphical installer by BigSQL (removed from PostgreSQL website)
This installer is bundled with a desktop version of pgAdmin. It is discontinued by the official pgAdmin team, but is forked by BigSQL. Please read https://www.openscg.com/bigsql/pgadmin3/
A typical connection string looks like the one specified here, where the two last parameters are only used for enabling/enforcing SSL.
Server=servername.postgres.database.azure.com;User Id=username;Password=password;Database=db;SSL Mode=Require;Trust Server Certificate=true;