Re: Déplacement massif de tous les éléments vers un autre schema ?

From: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
To: celati Laurent <laurent(dot)celati(at)gmail(dot)com>
Cc: pgsql-fr-generale <pgsql-fr-generale(at)postgresql(dot)org>, pgsql-fr-generale-owner(at)lists(dot)postgresql(dot)org
Subject: Re: Déplacement massif de tous les éléments vers un autre schema ?
Date: 2023-02-28 14:53:29
Message-ID: CAECtzeXB7zaR6YgPHp8LvspBuS7Wb1390rFPxEsAegc56ip2sg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Bonjour,

Le mar. 28 févr. 2023 à 15:44, celati Laurent <laurent(dot)celati(at)gmail(dot)com> a
écrit :

> Bonjour,
> Je souhaite trouver un moyen de déplacer 100 tables d'un schema 'A' vers
> un schema 'B'. Non seulement les données. Mais également les index, les
> clef primaires, contraintes (en quelque sorte INCLUDING ALL). Sauf erreur
> de ma part, ce bout de code permettrait de déplacer les données en tant que
> tel. Mais comment faire pour déplacer également les index, contraintes,
> clef primaire...
>
>
Les index et les contraintes n'étant pas liés à un schéma, la question ne
se pose pas :) De ce fait, il n'existe pas de ALTER INDEX SET SCHEMA.

> DO
> $$
> DECLARE
> row record;
> BEGIN
> FOR row IN SELECT tablename FROM pg_tables WHERE schemaname = 'A' --
> and other conditions, if needed
> LOOP
> EXECUTE format('ALTER TABLE A.%I SET SCHEMA [B];', row.tablename);
> END LOOP;
> END;
> $$;
>
> Merci.
>

--
Guillaume.

In response to

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message celati Laurent 2023-02-28 15:04:20 Re: Déplacement massif de tous les éléments vers un autre schema ?
Previous Message celati Laurent 2023-02-28 14:31:54 Déplacement massif de tous les éléments vers un autre schema ?