Skip to content

:octocat: Github action to restore a postgres database from a backup script.

License

Notifications You must be signed in to change notification settings

tj-actions/pg-restore

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

Codacy Badge CI Update release version. Public workflows that use this action.

Restore a postgres service container using a sql backup file with psql.

Note

  • This only supports sql backups.

Prerequisite

Create a backup using

$ cd [project_root]
$ mkdir backups
$ pg_dump -O -f backups/backup.sql $DATABASE_URL

See: https://github.com/tj-actions/pg-dump

Usage

Using the default PostgreSQL installed on the runner

...
    steps:
      # Checkout the repository
      - uses: actions/checkout@v4

      # Run pg-restore
      - name: Postgres Backup Restore
        uses: tj-actions/pg-restore@v6
        with:
          database_url: "postgres://test_user:test_password@localhost:5432/test_db"
          backup_file: "backups/backup.sql"

Using a different PostgreSQL version

...
    steps:
      # Checkout the repository
      - uses: actions/checkout@v2

      # Run pg-restore
      - name: Postgres Backup Restore
        uses: tj-actions/pg-restore@v6
        with:
          database_url: "postgres://test_user:test_password@localhost:5432/test_db"
          backup_file: "backups/backup.sql"
          postgresql_version: "15"  # Note: Only the major version is required e.g. 12, 14, 15

Inputs

INPUT TYPE REQUIRED DEFAULT DESCRIPTION
backup_file string true Backup file name
database_url string true Database URL
options string false Extra options to pass directly
to psql
postgresql_version string false Version of PostgreSQL. e.g 15

If you feel generous and want to show some extra appreciation:

Buy me a coffee

Credits

This package was created with Cookiecutter.

Report Bugs

Report bugs at https://github.com/tj-actions/pg-restore/issues.

If you are reporting a bug, please include:

  • Your operating system name and version.
  • Any details about your workflow that might be helpful in troubleshooting.
  • Detailed steps to reproduce the bug.