diff --git a/images/linux/scripts/installers/postgresql.sh b/images/linux/scripts/installers/postgresql.sh index 85b7dec0..f3d38cf2 100644 --- a/images/linux/scripts/installers/postgresql.sh +++ b/images/linux/scripts/installers/postgresql.sh @@ -1,18 +1,26 @@ #!/bin/bash -e ################################################################################ ## File: postgresql.sh -## Desc: Installs Postgresql +## Desc: Installs PostgreSQL ################################################################################ +# Source the helpers +source $HELPER_SCRIPTS/os.sh +source $HELPER_SCRIPTS/install.sh + REPO_URL="https://apt.postgresql.org/pub/repos/apt/" -#Preparing repo for PostgreSQL 12. +# Preparing repo for PostgreSQL wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - -echo "deb $REPO_URL `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list +echo "deb $REPO_URL $(getOSVersionLabel)-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list +# Fetch PostgreSQL version to install from the toolset +toolsetVersion=$(get_toolset_value '.postgresql.version') + +# Install PostgreSQL echo "Install PostgreSQL" apt update -apt install postgresql postgresql-client +apt install postgresql-$toolsetVersion echo "Install libpq-dev" apt-get install libpq-dev diff --git a/images/linux/scripts/tests/Databases.Tests.ps1 b/images/linux/scripts/tests/Databases.Tests.ps1 index 6477a04e..a141c53e 100644 --- a/images/linux/scripts/tests/Databases.Tests.ps1 +++ b/images/linux/scripts/tests/Databases.Tests.ps1 @@ -9,12 +9,19 @@ Describe "MongoDB" { } Describe "PostgreSQL" { - It "PostgreSQL Service" { "sudo systemctl start postgresql" | Should -ReturnZeroExitCode (Get-CommandResult "pg_isready").Output | Should -Be "/var/run/postgresql:5432 - accepting connections" "sudo systemctl stop postgresql" | Should -ReturnZeroExitCode } + + It "PostgreSQL version should correspond to the version in the toolset" { + $toolsetVersion = (Get-ToolsetContent).postgresql.version + # Client version + (psql --version).split()[-1] | Should -BeLike "$toolsetVersion*" + # Server version + (pg_config --version).split()[-1] | Should -BeLike "$toolsetVersion*" + } } Describe "MySQL" { diff --git a/images/linux/toolsets/toolset-1804.json b/images/linux/toolsets/toolset-1804.json index 0c69a6ce..80f3d9e9 100644 --- a/images/linux/toolsets/toolset-1804.json +++ b/images/linux/toolsets/toolset-1804.json @@ -330,5 +330,8 @@ ], "mongodb": { "version": "5.0" + }, + "postgresql": { + "version": "14" } } diff --git a/images/linux/toolsets/toolset-2004.json b/images/linux/toolsets/toolset-2004.json index 8c22702a..bc5bf595 100644 --- a/images/linux/toolsets/toolset-2004.json +++ b/images/linux/toolsets/toolset-2004.json @@ -335,5 +335,8 @@ ], "mongodb": { "version": "5.0" + }, + "postgresql": { + "version": "14" } }