Juan wrote:

Hola Juan,

> psql: FATAL: too many trigger records found for relation "pg_authid" post
> duplicate any tables pg_* into my "test BD" using;
> 
> #psql -d Test < pg_[any].sql
> 
> I can delete de BD (it's only a test), but that's not idea, I need solve
> this problem.

It seems to me you managed to corrupt the catalogs.  Try starting a
standalone backend and issuing this query:

alvherre=# select tgname, tgfoid::regproc from pg_trigger where tgrelid = 
'pg_authid'::regclass;
      tgname       |         tgfoid          
-------------------+-------------------------
 pg_sync_pg_authid | flatfile_update_trigger
(1 fila)

If you get any tuple besides that one, that's a problem.

But really, what the message is saying is that the number of tuples
returned is different from what you get from

alvherre=# select reltriggers from pg_class where oid = 'pg_authid'::regclass;
 reltriggers 
-------------
           1
(1 fila)

So if you have an extra trigger in pg_authid, you may be able to fix the
stuff to get it working by changing pg_class.reltriggers.  Or not, if
you managed to corrupt the catalogs in another way ;-)


To start a standalone backend on that test DB, stop the postmaster and
run

postgres -D /where/the/data/is/  "test DB"

you'll get a prompt like
PostgreSQL stand-alone backend 8.1.8
backend> 

where you can enter the commands.

FWIW, you're missing 4 rounds of bugfixes; we're at 8.1.8 already.  One
of them may have corrupted your catalogs.  You're advised to upgrade.

Let me know how it goes.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at

                http://www.postgresql.org/about/donate

Reply via email to