Обсуждение: trouble restoring database
Hi Everybody,
I installed a postgres 8.4.4 onto a centos 5.5 machine and attempted to restore
data from a file made by pg_dumpall. It didn’t work, it seems. What I did was to
follow the instruction given in INSTALL file which comes with the source distribution.
The section Getting Started gives a list and I did all but #5 (createdb testdb + psql testdb).
Instead of #5, I ran the command below:
gunzip ..../dumpall20100822.0.gz | /usr/local/pgsql/bin/psql -f – postgres
Which terminated with exit status 0.
But when I look at pg_stat_database I don’t see the database I expected.
Can somebody please tell me why this didn’t work? Also, what must I do to successfully
restore the database?
Thank you in advance.
Regards,
Tena Sakai
tsakai@gallo.ucsf.edu
I installed a postgres 8.4.4 onto a centos 5.5 machine and attempted to restore
data from a file made by pg_dumpall. It didn’t work, it seems. What I did was to
follow the instruction given in INSTALL file which comes with the source distribution.
The section Getting Started gives a list and I did all but #5 (createdb testdb + psql testdb).
Instead of #5, I ran the command below:
gunzip ..../dumpall20100822.0.gz | /usr/local/pgsql/bin/psql -f – postgres
Which terminated with exit status 0.
But when I look at pg_stat_database I don’t see the database I expected.
Can somebody please tell me why this didn’t work? Also, what must I do to successfully
restore the database?
Thank you in advance.
Regards,
Tena Sakai
tsakai@gallo.ucsf.edu
At a glance, you may need gunzip -c. -- Ian. On Tue, Aug 24, 2010 at 7:22 PM, Tena Sakai <tsakai@gallo.ucsf.edu> wrote: > Hi Everybody, > > I installed a postgres 8.4.4 onto a centos 5.5 machine and attempted to > restore > data from a file made by pg_dumpall. It didn’t work, it seems. What I did > was to > follow the instruction given in INSTALL file which comes with the source > distribution. > The section Getting Started gives a list and I did all but #5 (createdb > testdb + psql testdb). > Instead of #5, I ran the command below: > gunzip ..../dumpall20100822.0.gz | /usr/local/pgsql/bin/psql -f – > postgres > Which terminated with exit status 0. > > But when I look at pg_stat_database I don’t see the database I expected. > Can somebody please tell me why this didn’t work? Also, what must I do to > successfully > restore the database? > > Thank you in advance. > > Regards, > > Tena Sakai > tsakai@gallo.ucsf.edu
Tena Sakai <tsakai@gallo.ucsf.edu> wrote: > gunzip ..../dumpall20100822.0.gz > | /usr/local/pgsql/bin/psql -f * postgres > Which terminated with exit status 0. > > But when I look at pg_stat_database I don*t see the database I > expected. What database did you expect? What do you see? Is there anything interesting in the log file? > Can somebody please tell me why this didn*t work? Also, what must > I do to successfully restore the database? Please read this page and post again with more information: http://wiki.postgresql.org/wiki/Guide_to_reporting_problems -Kevin
Hi Kevin,
My apology for insufficient post.
Here's what I did and its response:
testdb=# select * from pg_stat_database;
datid | datname | numbackends | xact_commit | xact_rollback | blks_read |
blks_hit | tup_returned | tup_fetched | tup_inserted | tup_updated |
tup_deleted
-------+-----------+-------------+-------------+---------------+-----------+
----------+--------------+-------------+--------------+-------------+-------
------
1 | template1 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 |
0 | 0
11563 | template0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 |
0 | 0
11564 | postgres | 0 | 2568 | 89 | 475 |
76273 | 618461 | 24179 | 4374 |
295 | 1
16384 | testdb | 1 | 310 | 0 | 105 |
5808 | 85597 | 1080 | 0 |
0 | 0
(4 rows)
Under datname column, I expected to see a name "canon".
Having said that, I think Ian is correct that I was missing -c flag in the
command below:
gunzip ..../dumpall20100822.0.gz | /usr/local/pgsql/bin/psql -f - postgres
This command, I think, uncompressed the file, but didn't feed the output
into the pipe and psql just waited and then received nothing and terminated.
Since the file got uncompressed, I am now running the command:
psql -f /home/tsakai/Notes/postgres/dumpall20100822.0
and I think it is working. It is giving messsages:
ERROR: role "postgres" already exists
STATEMENT: CREATE ROLE postgres;
ERROR: database "testdb" already exists
STATEMENT: CREATE DATABASE testdb WITH TEMPLATE = template0 OWNER =
postgres ENCODING = 'UTF8';
LOG: checkpoints are occurring too frequently (5 seconds apart)
HINT: Consider increasing the configuration parameter
"checkpoint_segments".
The last 2 lines are repeated many, many times. This is not terribly
Serious, is it? (I will fix it via postgresql.conf file shortly.)
Regards,
Tena Sakai
tsakai@gallo.ucsf.edu
On 8/24/10 12:12 PM, "Kevin Grittner" <Kevin.Grittner@wicourts.gov> wrote:
> Tena Sakai <tsakai@gallo.ucsf.edu> wrote:
>
>> gunzip ..../dumpall20100822.0.gz
>> | /usr/local/pgsql/bin/psql -f * postgres
>> Which terminated with exit status 0.
>>
>> But when I look at pg_stat_database I don*t see the database I
>> expected.
>
> What database did you expect? What do you see? Is there anything
> interesting in the log file?
>
>> Can somebody please tell me why this didn*t work? Also, what must
>> I do to successfully restore the database?
>
> Please read this page and post again with more information:
>
> http://wiki.postgresql.org/wiki/Guide_to_reporting_problems
>
> -Kevin
On Tue, Aug 24, 2010 at 3:22 PM, Tena Sakai <tsakai@gallo.ucsf.edu> wrote: > Having said that, I think Ian is correct that I was missing -c flag in the > command below: > gunzip ..../dumpall20100822.0.gz | /usr/local/pgsql/bin/psql -f - postgres Quick tip, you can use zcat to get the output of a gzipped file like: zcat ..../dumpall20100822.0.gz|psql There's also zgrep, zless, zegrep, zxpdf, and zdiff. All do what it looks like they do. > Since the file got uncompressed, I am now running the command: > psql -f /home/tsakai/Notes/postgres/dumpall20100822.0 > and I think it is working. It is giving messsages: > ERROR: role "postgres" already exists > STATEMENT: CREATE ROLE postgres; > ERROR: database "testdb" already exists > STATEMENT: CREATE DATABASE testdb WITH TEMPLATE = template0 OWNER = > postgres ENCODING = 'UTF8'; > LOG: checkpoints are occurring too frequently (5 seconds apart) > HINT: Consider increasing the configuration parameter > "checkpoint_segments". > > > The last 2 lines are repeated many, many times. This is not terribly > Serious, is it? (I will fix it via postgresql.conf file shortly.) No. It's just telling you that from a performance perspective things would be faster with more checkpoint segments. Unless you spend a fair portion of your day restoring dbs, it's probably not big deal. If your machines only do a little writing at a time then you can probably leave it. However, increasing checkpoint segments does help a lot if you do handle a fair bit of writes, and it's cheap and easy to do.
Tena Sakai <tsakai@gallo.ucsf.edu> wrote: > Having said that, I think Ian is correct that I was missing -c > flag in the command below: > gunzip ..../dumpall20100822.0.gz | /usr/local/pgsql/bin/psql -f > - postgres Yeah. Good spot on Ian's part. > This command, I think, uncompressed the file, but didn't feed the > output into the pipe and psql just waited and then received > nothing and terminated. Agreed. > Since the file got uncompressed, I am now running the command: > psql -f /home/tsakai/Notes/postgres/dumpall20100822.0 > and I think it is working. It is giving messsages: > ERROR: role "postgres" already exists > STATEMENT: CREATE ROLE postgres; > ERROR: database "testdb" already exists > STATEMENT: CREATE DATABASE testdb WITH TEMPLATE = template0 > OWNER = postgres ENCODING = 'UTF8'; > LOG: checkpoints are occurring too frequently (5 seconds apart) > HINT: Consider increasing the configuration parameter > "checkpoint_segments". > > > The last 2 lines are repeated many, many times. This is not > terribly Serious, is it? (I will fix it via postgresql.conf file > shortly.) The frequent checkpoints may affect the speed of the restore, nothing more serious than that. -Kevin
Hi Scott, Thank you for your quick tips. I shall remember zcat (and hopefully others). Regards, Tena Sakai On 8/24/10 2:30 PM, "Scott Marlowe" <scott.marlowe@gmail.com> wrote: > On Tue, Aug 24, 2010 at 3:22 PM, Tena Sakai <tsakai@gallo.ucsf.edu> wrote: >> Having said that, I think Ian is correct that I was missing -c flag in the >> command below: >> gunzip ..../dumpall20100822.0.gz | /usr/local/pgsql/bin/psql -f - postgres > > Quick tip, you can use zcat to get the output of a gzipped file like: > > zcat ..../dumpall20100822.0.gz|psql > > There's also zgrep, zless, zegrep, zxpdf, and zdiff. All do what it > looks like they do. > > >> Since the file got uncompressed, I am now running the command: >> psql -f /home/tsakai/Notes/postgres/dumpall20100822.0 >> and I think it is working. It is giving messsages: >> ERROR: role "postgres" already exists >> STATEMENT: CREATE ROLE postgres; >> ERROR: database "testdb" already exists >> STATEMENT: CREATE DATABASE testdb WITH TEMPLATE = template0 OWNER = >> postgres ENCODING = 'UTF8'; >> LOG: checkpoints are occurring too frequently (5 seconds apart) >> HINT: Consider increasing the configuration parameter >> "checkpoint_segments". >> >> >> The last 2 lines are repeated many, many times. This is not terribly >> Serious, is it? (I will fix it via postgresql.conf file shortly.) > > No. It's just telling you that from a performance perspective things > would be faster with more checkpoint segments. Unless you spend a > fair portion of your day restoring dbs, it's probably not big deal. > If your machines only do a little writing at a time then you can > probably leave it. However, increasing checkpoint segments does help > a lot if you do handle a fair bit of writes, and it's cheap and easy > to do.