1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-04 07:38:02 +00:00

Add Dump And Restore A Database as a postgres til

This commit is contained in:
jbranchaud
2016-05-08 12:07:04 -05:00
parent 41541072a1
commit b4fa9b4af5
2 changed files with 33 additions and 1 deletions

View File

@@ -7,7 +7,7 @@ variety of languages and technologies. These are things that don't really
warrant a full blog post. These are mostly things I learn by pairing with
smart people at [Hashrocket](http://hashrocket.com/).
_411 TILs and counting..._
_412 TILs and counting..._
---
@@ -190,6 +190,7 @@ _411 TILs and counting..._
- [Day Of Week For A Date](postgres/day-of-week-for-a-date.md)
- [Default Schema](postgres/default-schema.md)
- [Defining Arrays](postgres/defining-arrays.md)
- [Dump And Restore A Database](postgres/dump-and-restore-a-database.md)
- [Edit Existing Functions](postgres/edit-existing-functions.md)
- [Escaping A Quote In A String](postgres/escaping-a-quote-in-a-string.md)
- [Export Query Results To A CSV](postgres/export-query-results-to-a-csv.md)

View File

@@ -0,0 +1,31 @@
# Dump And Restore A Database
PostgreSQL comes with two command-line utilities for dumping and then
restoring a database -- `pg_dump` and `pg_restore`, respectively.
Using the `pg_dump` with the `-Fc` flag will create a dump of the given
database in a custom format. The output of this command can be redirected
into a file (the `.dump` extension is a standard convention):
```bash
$ pg_dump -Fc my_database > my_database.dump
```
Using the custom format option provides a couple benefits. The output is
significantly compressed in comparison to a generic SQL dump. The dump and
restoration is more flexible. Lastly, the dump can be performed in parallel
if your machine has multiple cores to work with. Likewise, the restoration
can be done in parallel with multiple jobs.
To restore the dump, create a fresh database and then use `pg_restore`:
```bash
$ createdb my_new_database
$ pg_restore -d my_new_database my_database.dump
```
See the
[`pg_dump` docs](http://www.postgresql.org/docs/current/static/app-pgdump.html)
and [`pg_restore`
docs](http://www.postgresql.org/docs/current/static/app-pgrestore.html)
for more details.