You should use alter table XX NO INHERIT parent_table;
2016-12-22 9:49 GMT+01:00 Francisco Olarte <fola...@peoplecall.com>: > Edmundo: > > On Wed, Dec 21, 2016 at 11:36 PM, Edmundo Robles <edmu...@sw-argos.com> > wrote: > > i need disable inheritance from many tables in a query like > > "delete from pg_inherits where inhparent=20473" instead alter table ... > > but is safe? which is the risk for database if i delete it? > > Dangers of touching the catalog directly have already been pointed by > TL, along with the question of why isn't normal ALTER TABLE ok. > > If it is because there are a lot of childs, I would like to point a > simple script ( if you are fluent in any scripting language, or even > in SQL ) can be used to automatically generate a bunch of alter table > commands. Even a simple text editor will do ( turn your query above > into something generating a bunch of table names, edit it ). Or just > try something like ( beware, untested ) > > with childs as (select relname from pg_class, pg_inherits where > pg_class.oid=inhrelid and inhparent='20473) > SELECT 'ALTER TABLE ' || relname || ' rest of alter table command;' > from childs ; > > And feed the result back to the server using your favorite tool ( > quoting maybe needed, schema names may be needed, YMMV ). > > 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 >