Skip to content
database

GitHub Action

Setup PostgreSQL and PostGIS for Linux/macOS/Windows

v2.1 Latest version

Setup PostgreSQL and PostGIS for Linux/macOS/Windows

database

Setup PostgreSQL and PostGIS for Linux/macOS/Windows

Setup PostgreSQL server and install PostGIS extension

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Setup PostgreSQL and PostGIS for Linux/macOS/Windows

uses: nyurik/[email protected]

Learn more about this action in nyurik/action-setup-postgis

Choose a version

setup-postgis

GitHub CI build Marketplace

Tip

PostgreSQL installation is done by the ikalnytskyi/action-setup-postgres action. All parameters are passed as is to the original action, with the addition of the cached-dir parameter to specify where to download and cache PostGIS binaries. See the original documentation for more details.

  • Runs on all Linux, macOS and Windows GitHub runners
  • Installs the correct version of PostGIS and runs CREATE EXTENSION postgis in the new database.

See also action-setup-nginx to configure NGINX service.

Usage

steps:
  - uses: nyurik/action-setup-postgis@v2
    id: postgres

  - name: Test PostGIS is installed
    run: psql -v ON_ERROR_STOP=1 -c 'SELECT PostGIS_Full_Version();' "$CONNECTION_STR"
    env:
      CONNECTION_STR: ${{ steps.postgres.outputs.connection-uri }}

Input parameters

Key Value Default
username The username of the user to setup. postgres
password The password of the user to setup. postgres
database The database name to setup and grant permissions to created user. postgres
port The server port to listen on. 5432
cached-dir Where should the temporary downloads be placed. Used to download and cache PostGIS binary. downloads

Outputs

Key Description Example
connection-uri The connection URI to connect to PostgreSQL. postgresql://postgres:postgres@localhost/postgres
service-name The service name with connection parameters. postgres

User permissions

Key Value
usesuper true
usecreatedb true

License

The scripts and documentation in this project are released under the MIT License.