Re: [pgbr-geral] REF: Duplicar Tabela com Chave Primaria

2016-03-09 Por tôpico Euler Taveira
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

Re: [pgbr-geral] REF: Duplicar Tabela com Chave Primaria

2016-03-09 Por tôpico Osvaldo Kussama
Em 09/03/16, Paulo escreveu:
> Olá Pessoal,
>
>
>
> Estou executado a seguinte instrução:
>
>
>
> CREATE TABLE chave_duplicada AS
>
> SELECT
>
>   *
>
>  FROM
>
>empresas
>
>  group by chave_inc
>
>  having count(chave_inc) > 1
>
>
>
>
>
> Porém não consigo visualizar os dados da nova tabela, recebo a mensagem:
>
>
>
>  Edit table data without primary key
>
>
>
> Alguém pode dar uma dica de como ao duplicar e já trazer a chave primária
> da
> tabela origem.
>


Me parece que sua tabela original não tem chave primária, ou pelo
menos não é este campo chave_inc, já que você está buscando os
duplicados.

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] REF: Duplicar Tabela com Chave Primaria

2016-03-09 Por tôpico Flavio Henrique Araque Gurgel

Olá Pessoal,

Estou executado a seguinte instrução:

CREATE TABLE chave_duplicada AS

SELECT

   *

  FROM

empresas

  group by chave_inc

  having count(chave_inc) > 1

Porém não consigo visualizar os dados da nova tabela, recebo a mensagem:

  Edit table data without primary key


Esse erro é do PgAdmin.
Normalmente, você pode ignorar a mensagem e visualizar os dados sem 
problemas.

Qual versão do PgAdmin está usando?


Alguém pode dar uma dica de como ao duplicar e já trazer a chave
primária da tabela origem.


Você terá que copiar toda a definição da tabela.
No PgAdmin é simples, clique apenas uma vez sobre o nome da tabela na 
árvore à esquerda, na parte direita embaixo você verá a definição com os 
índices e restrições. Copie, cole numa nova janela SQL e troque o nome 
da tabela e índices. Depos, execute seu INSER INTO... SELECT * FROM 


[]s
Flavio Gurgel
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral