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.- Linux version is installed from the PostGIS apt repository.
- Windows version is installed from the OSGeo.
- MacOS version is installed using Homebrew package.
- MacOS only supports Postgres 14 and Postgres 17.
See also action-setup-nginx to configure NGINX service.
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 }}
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. ARM64 runner collide on 5432 | 5432 |
postgres-version | The PostgreSQL version to install. MacOS only supports 14 and 17 | 17 |
postgis_version | The PostGIS version to install. | By default (empty), will use the latest. See available versions here. If set, must use the entire version string like 3.3.3 |
cached-dir | Where should the temporary downloads be placed. Used to download and cache PostGIS binary. | ${{ runner.temp }}/setup-postgis-downloads |
import-schema | Import database schema. | false |
schema-file | Path to the SQL schema file to import (relative to workspace or absolute path). | "" (empty) |
setup-odbc | Configure ODBC drivers. | false |
search-path | Default schema search path for database and user. | "" (empty) |
additional-extensions | Comma-separated list of additional PostgreSQL extensions to install (beyond PostGIS). | "" (empty) |
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 |
npgsql-connection-string | Npgsql connection string with search path. | Host=localhost;Port=5432;Database=postgres;Username=postgres;Password=postgres;Search Path=; |
odbc-connection-string | ODBC connection string. | Driver={PostgreSQL ANSI};Servername=localhost;Port=5432;Database=postgres;Username=postgres;Password=postgres; |
Key | Value |
---|---|
usesuper | true |
usecreatedb | true |
The scripts and documentation in this project are released under the MIT License.