Hi all,
I might have a problem of a greater order, but I can't see how to get an
answer. (Indeed the message didn't say anything about VACUUM FULL... I
miss interpreted the message.)
The messages says to VACUUM the database postgres.
When I execute:
postgres -D "D:\my\path" postgres
VACUUM;
I'm always getting:
WARNING: db "template1" must be vacuumed within 999593 transactions
HINT: To avoid... execute a full-database VACUUM in "template1"
... (repeated many times until 999568)
Then I try the same in template1:
postgres -D "D:\my\path" postgres
VACUUM;
WARNING: db "postgres" must be vacuumed within 999*** transactions
HINT: To avoid... execute a full-database VACUUM in "postgres"
I tried VACUUM FREEZE / VACUUM FULL...
At some point I got:
ERROR: xlog flush request AC/FBEEF148 is not satisfied --- flushed only
to AC/FB9224A8
CONTEXT: writing block 0 of relation 1664/0/1214
WARNING: could not writing block 0 of 1664/0/1214
DETAIL: Multiple failures --- write error may be permanent.
Now my customer tells me they had a power outage last Sunday. Their
might be a HD problem (?).
Is the best solution to dump all / recreate the DB from scratch? What
else can I do?
It looks like the vacuum command does not want to be execute. The other
VACUUM is still progressing on the main database in another postgres.exe
shell.
(If it's the only solution, is it possible to migration from one DB
directly to the other under windows... I don't know about the | command
under "windows cmd".)
Thank you for your help.
Le 2010-04-16 10:46, Tom Lane a écrit :
Alexandre Leclerc<aleclerc@xxxxxxx> writes:
*Background:*
- PostgreSQL 8.1 on Windows Server
- The customer has disabled regular VACUUM jobs for backup to be taken,
a year or two ago.
- They didn't told us (as far as I can remember).
- Wednesday morning at 10:55:50: database is shut down to avoid
wraparound data loss in database *db*
*What has been done:*
- The message requested a VACUUM FULL so we stopped the postmaster and
started postgres.exe to launch a VACUUM FULL.
You misread it. You do NOT need a VACUUM FULL here, you should just run
a plain VACUUM (across the whole database, ie not one per table). It
will take a lot less time.
After you get out of this, you really need to do something about
upgrading from 8.1, or else moving the server off Windows. 8.1 on
Windows is unsupported and is full of known problems for that platform.
regards, tom lane
--
Alexandre Leclerc
--
Sent via pgsql-admin mailing list (pgsql-admin@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin