Pessoal, estou copiando algumas tabelas (varias) de um schema para outro e
preciso que as novas tabelas herdam toda a estrutura das originais, com isso
poderia usar alguns métodos, mas preferi fazer usando LIKE, com isso consigo
copiar toda a estrutura da tabela original para a nova.
Ao fazer notei que alguns indices foram criados com o nome diferente, ou
seja, ele não herdou o nome completo do indice, mesmo em schemas diferentes
ele poderia ter mantido, o que aconteceu com a chave primaria mas não
ocorreu com os demais.
Um exemplo seria:
\d t_cliente
Table "public.t_cliente"
Column | Type | Modifiers
----------------+---------------+----------------------------
pkey | integer | default 0
codcliente | text | not null
nome | text |
fantasia | text |
cnpj_cpf | text |
inscricao_rg | text |
contato | text |
atividade | text |
Indexes:
"t_cliente_pkey" PRIMARY KEY, btree (s_codcliente), tablespace
"poli_disk1"
* "t_cliente_u_pkey_idx01" btree (u_pkey), tablespace "poli_disk1"*
faz cópia:
CREATE TABLE backup.t_cliente (LIKE t_cliente INCLUDING DEFAULTS INCLUDING
INDEXES INCLUDING CONSTRAINTS) ;
\d backup.t_cliente
Table "backup.t_cliente"
Column | Type | Modifiers
----------------+---------------+----------------------------
pkey | integer | default 0
codcliente | text | not null
nome | text |
fantasia | text |
cnpj_cpf | text |
inscricao_rg | text |
contato | text |
s_atividade | text |
Indexes:
"t_cliente_pkey" PRIMARY KEY, btree (s_codcliente), tablespace
"poli_disk1"
* "t_cliente_u_pkey_key" btree (u_pkey), tablespace "poli_disk1"*
Vejam que ele manteve a chave primaria com o mesmo nome mas o indice ele
mudou. Tudo bem que no resultado final eu teria o mesmo indice mas a nível
de padronização ficaria diferente.
Existe alguma forma de força a utilização do mesmo dos índices, ou não pode
ser assim? Por default o Postgres não faz isso.
--
Atenciosamente,
Emanuel Araújo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral