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; >
Do manual: http://www.postgresql.org/docs/8.2/interactive/sql-altertable.html "Note: While CREATE TABLE allows OIDS to be specified in the WITH (storage_parameter) syntax, ALTER TABLE does not treat OIDS as a storage parameter." Atenção para a consideração: "The use of OIDs in user tables is considered deprecated, so most installations should leave this variable disabled." http://www.postgresql.org/docs/8.2/interactive/runtime-config-compatible.html#RUNTIME-CONFIG-COMPATIBLE-VERSION A recomendação é que seja criada uma chave primária SERIAL (caso não exista uma chave natural). Osvaldo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
