Olá,

Você pode fazer assim:

CREATE TABLE tab(codigo int PRIMARY KEY,nome text);

CREATE INDEX ind_tab_nome ON tab(nome);

INSERT INTO tab VALUES (1,'Jota');

INSERT INTO tab VALUES (2,'Jota.Comm');

CREATE TABLE outra_tab(LIKE tab INCLUDING INDEXES) WITH OIDS;

INSERT INTO outra_tab SELECT * FROM tab;

Para testar você pode fazer:

SELECT oid,* FROM outra_tab;

2009/6/24 sergio nogueira <[email protected]>

> Pessoal,
> no PostgreSQl abaixo
> foi criada uma tabela sem oids de colunas. Agora preciso deste campo.
> O comando retorna a mensagem:
>   bdx => alter table tabelax set with oids;   (funciona no 8.4.rc1)
>   ERROR:  syntax error at or near "with oids"
>   LINE 1: alter table cv2samge set with oids;
>
> PostgreSQL 8.2.3 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.6
> 20060404 (Red Hat 3.4.6-3)
>
> Pelo que entendi do manual, nesta versão não existe oids para tabelas de
> usuários.
>
> Haveria alguma outra opção? Acrescentei novos campos mas a tabela não tem
> um identificador de linha para que eu pudesse executar o update destes
> campos (update tabelax set novo_campo1 = valor where id_da_linha = valor1,
> novo_campo2 = valor2;
>
> Att.,
> Sergio
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
Espero ter ajudado.

[]s
-- 
JotaComm
http://jotacomm.wordpress.com
http://www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a