X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/bd04c49bc1b8510e2a037acde5c6023c40728673..30cef4d5fdfd804616506b28d5caad8d2b2385c4:/.github/actions/setup-postgresql/action.yml diff --git a/.github/actions/setup-postgresql/action.yml b/.github/actions/setup-postgresql/action.yml index 15785045..416ced5f 100644 --- a/.github/actions/setup-postgresql/action.yml +++ b/.github/actions/setup-postgresql/action.yml @@ -1,23 +1,49 @@ name: 'Setup Postgresql and Postgis' +inputs: + postgresql-version: + description: 'Version of PostgreSQL to install' + required: true + postgis-version: + description: 'Version of Postgis to install' + required: true + runs: using: "composite" steps: - - name: Install postgis - run: sudo apt-get install -y -qq postgresql-13-postgis-3 postgresql-13-postgis-3-scripts postgresql-server-dev-13 + - name: Remove existing PostgreSQL + run: | + sudo apt-get purge -yq postgresql* + sudo apt install curl ca-certificates gnupg + curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg >/dev/null + sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' + sudo apt-get update -qq + + shell: bash + + - name: Install PostgreSQL + run: | + sudo apt-get install -y -qq --no-install-suggests --no-install-recommends postgresql-client-${PGVER} postgresql-${PGVER}-postgis-${POSTGISVER} postgresql-${PGVER}-postgis-${POSTGISVER}-scripts postgresql-contrib-${PGVER} postgresql-${PGVER} shell: bash + env: + PGVER: ${{ inputs.postgresql-version }} + POSTGISVER: ${{ inputs.postgis-version }} - name: Adapt postgresql configuration run: | - echo 'fsync = off' | sudo tee /etc/postgresql/13/main/conf.d/local.conf - echo 'synchronous_commit = off' | sudo tee -a /etc/postgresql/13/main/conf.d/local.conf - echo 'full_page_writes = off' | sudo tee -a /etc/postgresql/13/main/conf.d/local.conf + echo 'fsync = off' | sudo tee /etc/postgresql/${PGVER}/main/conf.d/local.conf + echo 'synchronous_commit = off' | sudo tee -a /etc/postgresql/${PGVER}/main/conf.d/local.conf + echo 'full_page_writes = off' | sudo tee -a /etc/postgresql/${PGVER}/main/conf.d/local.conf + echo 'shared_buffers = 1GB' | sudo tee -a /etc/postgresql/${PGVER}/main/conf.d/local.conf + echo 'port = 5432' | sudo tee -a /etc/postgresql/${PGVER}/main/conf.d/local.conf shell: bash + env: + PGVER: ${{ inputs.postgresql-version }} - name: Setup database run: | - sudo systemctl start postgresql + sudo systemctl restart postgresql sudo -u postgres createuser -S www-data sudo -u postgres createuser -s runner shell: bash