Re: Status de migração de tabela

Lists: pgsql-pt-geral
From: Tiago José Adami <adamitj(at)gmail(dot)com>
To: pgsql-pt-geral(at)lists(dot)postgresql(dot)org
Subject: Status de migração de tabela
Date: 2018-04-18 21:39:17
Message-ID: CA+tEPePpfOOxx-DhV6US9+HJiCwk-s7ypqPe8SbKb9++J3xFoA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-pt-geral

Olá, pessoal.

Existe alguma forma de consultar o status de migração de tablespace de uma
tabela após o comando abaixo?

ALTER TABLE <tablename> SET TABLESPACE <new_tablespace>

Algo como linhas que já foram migradas ou percentual completado, algo
assim...

Tiago J. Adami


From: Fabrízio de Royes Mello <fabriziomello(at)gmail(dot)com>
To: Tiago José Adami <adamitj(at)gmail(dot)com>
Cc: pgsql-pt-geral(at)lists(dot)postgresql(dot)org
Subject: Re: Status de migração de tabela
Date: 2018-04-18 23:01:38
Message-ID: CAFcNs+qHAh9oFwm52qzfX=oi1mtdf3L+reRZX8dkxyJtDLWUJQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-pt-geral

Em qua, 18 de abr de 2018 às 18:39, Tiago José Adami <adamitj(at)gmail(dot)com>
escreveu:

> Olá, pessoal.
>
>
> Existe alguma forma de consultar o status de migração de tablespace de uma
> tabela após o comando abaixo?
>
> ALTER TABLE <tablename> SET TABLESPACE <new_tablespace>
>
> Algo como linhas que já foram migradas ou percentual completado, algo
> assim...
>

Não existe algo trivial, mas vc pode inspecionar os novos datafiles sendo
criados na nova tablespace via sistema de arquivos.

Como vc bem sabe essa operação exige um AccessExclusiveLock então vc tem um
período de downtime na tabela que está movendo. Já considerou usar uma
ferramenta como o pg_repack??? Com ela fica mais fácil acompanhar o que
está acontecendo, identificar os objetos, criar os índices em paralelo.

Att,

> --
Fabrízio de Royes Mello
Consultoria/Coaching PostgreSQL
>> Timbira: http://www.timbira.com.br
>> Blog: http://fabriziomello.github.io
>> Linkedin: http://br.linkedin.com/in/fabriziomello
>> Twitter: http://twitter.com/fabriziomello
>> Github: http://github.com/fabriziomello


From: Tiago José Adami <adamitj(at)gmail(dot)com>
To: fabriziomello(at)gmail(dot)com
Cc: pgsql-pt-geral(at)lists(dot)postgresql(dot)org
Subject: Re: Status de migração de tabela
Date: 2018-04-19 13:22:26
Message-ID: CA+tEPeMOvJYUWoB9xhC800KJJxObG5oTq1wjGeH8qcKUJELMpg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-pt-geral

Em 18 de abril de 2018 20:01, Fabrízio de Royes Mello
<fabriziomello(at)gmail(dot)com> escreveu:
>
>
> Em qua, 18 de abr de 2018 às 18:39, Tiago José Adami <adamitj(at)gmail(dot)com> escreveu:
>>
>> Olá, pessoal.
>>
>>
>> Existe alguma forma de consultar o status de migração de tablespace de uma tabela após o comando abaixo?
>>
>> ALTER TABLE <tablename> SET TABLESPACE <new_tablespace>
>>
>> Algo como linhas que já foram migradas ou percentual completado, algo assim...
>
>
>
> Não existe algo trivial, mas vc pode inspecionar os novos datafiles sendo criados na nova tablespace via sistema de arquivos.

Isto já é feito (na falta de cão, caçamos com gato). Porém, ao migrar
mais de 80 GB por tabela em unidades de armazenamento lento durante a
madrugada é fácil se perder nas medições. Chega a levar 1 hora por
tabela. São tabelas antigas sendo movidas para "cold storage" com
prioridade baixíssima no hardware.

> Como vc bem sabe essa operação exige um AccessExclusiveLock então vc tem um período de downtime na tabela que está movendo.

A migração de tablespace é durante a madrugada e em tabelas de
histórico, não há acesso neste período. Temos janela de tempo
suficiente para esta manutenção, uma ou duas tabelas por dia.

> Já considerou usar uma ferramenta como o pg_repack??? Com ela fica mais fácil acompanhar o que está acontecendo, identificar os objetos, criar os índices em paralelo.

Ainda não utilizamos esta ferramenta, estamos 'colados' apenas com os
recursos padrão do PostgreSQL 9.6.

O servidor é Windows 2012 Server R2, então será necessário instalar o
MS Visual C++ 2010 para compilar e instalar esta extensão. Vamos
estudar a necessidade e viabilidade de implantá-la no servidor. Assim
será possível fazer as operações durante o expediente.

Agradeço pela dica!

Tiago J. Adami
http://www.powerdba.com.br