On 09-03-2016 09:10, Paulo wrote:
> Alguém pode dar uma dica de como ao duplicar e já trazer a chave
> primária da tabela origem.
> 
Para copiar o esquema você pode usar a cláusula LIKE. Veja:

euler@vostro:/tmp$ psql -X
psql (9.5.1)
Digite "help" para ajuda.

euler=# \d foo
                            Tabela "public.foo"
 Coluna |  Tipo   |                      Modificadores
--------+---------+---------------------------------------------------------
 a      | integer | não nulo valor padrão de nextval('foo_a_seq'::regclass)
 b      | text    | não nulo
 c      | integer | não nulo
 d      | xml     |
Índices:
    "foo_pkey" PRIMARY KEY, btree (a)
    "fooi" UNIQUE, btree (c)

euler=# create table bar (like foo including all);
CREATE TABLE
euler=# \d bar
                            Tabela "public.bar"
 Coluna |  Tipo   |                      Modificadores
--------+---------+---------------------------------------------------------
 a      | integer | não nulo valor padrão de nextval('foo_a_seq'::regclass)
 b      | text    | não nulo
 c      | integer | não nulo
 d      | xml     |
Índices:
    "bar_pkey" PRIMARY KEY, btree (a)
    "bar_c_idx" UNIQUE, btree (c)

A cláusula LIKE permite escolher o que incluir ou excluir ao copiar o
esquema (vide opções no manual). Note que a sequência é a mesma. Os
dados podem ser copiados em seguida com INSERT ou COPY.


-- 
   Euler Taveira                   Timbira - http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a