Binary database dumps with PostgreSQL | laravel-backup | Spatie

 SPATIE

  Laravel Backup
=================

spatie.be/open-source

  [Docs](https://spatie.be/docs)  [Laravel-backup](https://spatie.be/docs/laravel-backup/v8)  Advanced-usage  Binary database dumps with PostgreSQL

 Version   v10   v9   v8   v7   v6   v5   v4   v3

 Other versions for crawler [v10](https://spatie.be/docs/laravel-backup/v10) [v9](https://spatie.be/docs/laravel-backup/v9) [v8](https://spatie.be/docs/laravel-backup/v8) [v7](https://spatie.be/docs/laravel-backup/v7) [v6](https://spatie.be/docs/laravel-backup/v6) [v5](https://spatie.be/docs/laravel-backup/v5) [v4](https://spatie.be/docs/laravel-backup/v4) [v3](https://spatie.be/docs/laravel-backup/v3)

- [ Introduction ](https://spatie.be/docs/laravel-backup/v8/introduction)
- [ Support us ](https://spatie.be/docs/laravel-backup/v8/support-us)
- [ Requirements ](https://spatie.be/docs/laravel-backup/v8/requirements)
- [ High level overview ](https://spatie.be/docs/laravel-backup/v8/high-level-overview)
- [ Installation and setup ](https://spatie.be/docs/laravel-backup/v8/installation-and-setup)
- [ Questions &amp; issues ](https://spatie.be/docs/laravel-backup/v8/questions-and-issues)
- [ Changelog ](https://spatie.be/docs/laravel-backup/v8/changelog)
- [ About us ](https://spatie.be/docs/laravel-backup/v8/about-us)

Taking Backups
--------------

- [ Taking backups ](https://spatie.be/docs/laravel-backup/v8/taking-backups/overview)
- [ Events ](https://spatie.be/docs/laravel-backup/v8/taking-backups/events)

Cleaning up old backups
-----------------------

- [ Cleaning up old backups ](https://spatie.be/docs/laravel-backup/v8/cleaning-up-old-backups/overview)
- [ Events ](https://spatie.be/docs/laravel-backup/v8/cleaning-up-old-backups/events)

Monitoring the health of all backups
------------------------------------

- [ Monitoring the health of all backups ](https://spatie.be/docs/laravel-backup/v8/monitoring-the-health-of-all-backups/overview)
- [ Creating your custom health check ](https://spatie.be/docs/laravel-backup/v8/monitoring-the-health-of-all-backups/creating-your-custom-health-check)
- [ Events ](https://spatie.be/docs/laravel-backup/v8/monitoring-the-health-of-all-backups/events)

Sending notifications
---------------------

- [ Sending notifications ](https://spatie.be/docs/laravel-backup/v8/sending-notifications/overview)
- [ Adding extra notification channels ](https://spatie.be/docs/laravel-backup/v8/sending-notifications/adding-extra-notification-channels)
- [ Customizing the notifiable ](https://spatie.be/docs/laravel-backup/v8/sending-notifications/customizing-the-notifiable)

Advanced Usage
--------------

- [ Adding extra files to a backup ](https://spatie.be/docs/laravel-backup/v8/advanced-usage/adding-extra-files-to-a-backup)
- [ Backing up a non-laravel application ](https://spatie.be/docs/laravel-backup/v8/advanced-usage/backing-up-a-non-laravel-application)
- [ Binary database dumps with PostgreSQL ](https://spatie.be/docs/laravel-backup/v8/advanced-usage/binary-database-dumps-with-postgresql)
- [ Encrypt backup archives ](https://spatie.be/docs/laravel-backup/v8/advanced-usage/encrypt-backup-archives)
- [ Isolated mode ](https://spatie.be/docs/laravel-backup/v8/advanced-usage/isolated-mode)

      You are viewing the documentation for **an older version** of this package. You can check the version you are using with the following command:

 `                                    composer show spatie/laravel-backup                                                                                                                                                                                                                                    `

Binary database dumps with PostgreSQL
=====================================

PostgreSQL has the ability to produce binary database dumps via the `pg_dump` command, which produce smaller files than the SQL format and are faster to restore. See the [full list](https://www.postgresql.org/docs/current/app-pgdump.html) of `pg_dump` flags.

To take advantage of this, you can set the extra flags for `pg_dump` on the database connection(s) in `app/config/database.php`.

```
//config/database.php
'connections' => [
	'pgsql' => [
		'driver'    => 'pgsql'
		...,
		'dump' => [
		    ...,
		    'add_extra_option' => '--format=c', // and any other pg_dump flags
		]
	],
```

Additionally, you can change the file extension of the database dump file to signify that it is not a text SQL file.

```
//config/backup.php
'backup' => [
    ...,
    'database_dump_file_extension' => 'backup', // produces a FILENAME.backup database dump
  ],
```
