On Thu, Dec 1, 2016 at 7:07 AM, Francisco Olarte <fola...@peoplecall.com>

> Juliano:
> On Thu, Dec 1, 2016 at 12:16 PM, Juliano <jpli...@protonmail.com> wrote:
> > I tried to restore pg_catalog to my new database, but the existing
> > pg_catalog can't be overwritten or dropped, and postgres auto creates
> > pg_catalog when I create a new DB.
> This is because, in general, pg_catalog is maintained by DML
> statements, restoring it is not going to do what you think.
> I.e., if you create a table, a row goes into pg_class, but if you
> somehow manage to insert into pg_class a table is not properly created
> ( more things need to be done ).
> Copying pg_catalog from one db to other is like trying to copy the
> root dir and FAT from one floppy ( how old fashioned ) to other, it
> cannot be done with normal tools and probably won't do what you think
> it does.
> > So, there is a way to restore the pg_catalog to a new database?
> Probably not, but this has the faint smell of http://xyproblem.info/ ,
> what are you truing to achieve by doing that?
> Francisco Olarte.
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general


*The right way to do what you want is to:*


*1. pg_dump from the database you want to copy

*2. pg_restore the dump file too the new database.



*1: pg_dumpall from the cluster you want to copy

*2: use psql to restore the dump file into the new cluster

*Melvin Davidson*
I reserve the right to fantasize.  Whether or not you
wish to share my fantasy is entirely up to you.

Reply via email to