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 ? |