| 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: | Whole Thread | Raw Message | 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.
| 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 ? |