Re: [GENERAL] Disabling inheritance with query.

Поиск
Список
Период
Сортировка
От Jaime Soler
Тема Re: [GENERAL] Disabling inheritance with query.
Дата
Msg-id CAKVUGgSAZ0sy2BdFvYbM91CugVxUkej+z4fxp6V2befi-2F4rQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [GENERAL] Disabling inheritance with query.  (Francisco Olarte <folarte@peoplecall.com>)
Список pgsql-general
You should use alter table XX NO INHERIT parent_table;


2016-12-22 9:49 GMT+01:00 Francisco Olarte <folarte@peoplecall.com>:
Edmundo:

On Wed, Dec 21, 2016 at 11:36 PM, Edmundo Robles <edmundo@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

В списке pgsql-general по дате отправления:

Предыдущее
От: Brian Sutherland
Дата:
Сообщение: Re: [GENERAL] error updating a tuple after promoting a standby
Следующее
От: Vick Khera
Дата:
Сообщение: Re: [GENERAL] How well does PostgreSQL 9.6.1 support unicode?