diff options
| author | Bruce Momjian <bruce@momjian.us> | 2000-06-19 14:02:16 +0000 |
|---|---|---|
| committer | Bruce Momjian <bruce@momjian.us> | 2000-06-19 14:02:16 +0000 |
| commit | bad9ce7099c2d4154dbd787f34a3a3a3a405e4e1 (patch) | |
| tree | 065921cc0aaff8e2a8ede19d40850c7fbd0b72ed /contrib/pg_dumplo/README.pg_dumplo | |
| parent | 6de7d4fe91b1f037eb9ad612a22e972037426100 (diff) | |
| download | postgresql-bad9ce7099c2d4154dbd787f34a3a3a3a405e4e1.tar.gz | |
Add missing /contrib files
Diffstat (limited to 'contrib/pg_dumplo/README.pg_dumplo')
| -rw-r--r-- | contrib/pg_dumplo/README.pg_dumplo | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/contrib/pg_dumplo/README.pg_dumplo b/contrib/pg_dumplo/README.pg_dumplo new file mode 100644 index 0000000000..aef8f9f71d --- /dev/null +++ b/contrib/pg_dumplo/README.pg_dumplo @@ -0,0 +1,117 @@ + +How to use pg_dumplo? +===================== + +(c) 2000, Pavel Janík ml. <Pavel.Janik@linux.cz> + + +Q: How do you use pg_dumplo? +============================ + +A: This is a small demo of backing up the database table with Large Objects: + + +We will create a demo database and a small and useless table `lo' inside +it: + +SnowWhite:$ createdb test +CREATE DATABASE + +Ok, our database with the name 'test' is created. Now we should create demo +table which will contain only one column with the name 'id' which will hold +the oid number of Large Object: + +SnowWhite:$ psql test +Welcome to psql, the PostgreSQL interactive terminal. + +Type: \copyright for distribution terms + \h for help with SQL commands + \? for help on internal slash commands + \g or terminate with semicolon to execute query + \q to quit + +test=# CREATE TABLE lo (id oid); +CREATE +test=# \lo_import /etc/aliases +lo_import 19338 +test=# INSERT INTO lo VALUES (19338); +INSERT 19352 1 +test=# select * from lo; + id +------- + 19338 +(1 row) + +test=# \q + +In the above example you can see that we have also imported one "Large +Object" - the file /etc/aliases. It has an oid of 19338 so we have inserted +this oid number to the database table lo to the column id. The final SELECT +shows that we have one record in the table. + +Now we can demonstrate the work of pg_dumplo. We will create dump directory +which will contain the whole dump of large objects (/tmp/dump): + +mkdir -p /tmp/dump + +Now we can dump all large objects from the database `test' which has an oid +stored in the column `id' in the table `lo': + +SnowWhite:$ pg_dumplo -s /tmp/dump -d test -l lo.id +pg_dumplo: dump lo.id (1 large obj) + +Voila, we have the dump of all Large Objects in our directory: + +SnowWhite:$ tree /tmp/dump/ +/tmp/dump/ +`-- test + |-- lo + | `-- id + | `-- 19338 + `-- lo_dump.index + +3 directories, 2 files +SnowWhite:$ + +Isn't it nice :-) Yes, it is, but we are on the half of our way. We should +also be able to recreate the contents of the table lo and the Large Object +database when something went wrong. It is very easy, we will demonstrate +this via dropping the database and recreating it from scratch with +pg_dumplo: + +SnowwWite:$ dropdb test +DROP DATABASE + +SnowWhite:$ createdb test +CREATE DATABASE + +Ok, our database with the name `test' is created again. We should also +create the table `lo' again: + +SnowWhite:$ psql test +Welcome to psql, the PostgreSQL interactive terminal. + +Type: \copyright for distribution terms + \h for help with SQL commands + \? for help on internal slash commands + \g or terminate with semicolon to execute query + \q to quit + +test=# CREATE TABLE lo (id oid); +CREATE +test=# \q +SnowWhite:$ + +Now the database with the table `lo' is created again, but we do not have +any information stored in it. But have the dump of complete Large Object +database, so we can recreate the contents of the whole database from the +directory /tmp/dump: + +SnowWhite:$ pg_dumplo -s /tmp/dump -d test -i +19338 lo id test/lo/id/19338 +SnowWhite:$ + +And this is everything. + +Summary: In this small example we have shown that pg_dumplo can be used to +completely dump the database's Large Objects very easily. |
