Marcondes Alexandre escreveu:
> Srs, criei uma tabela conforme abaixo e os campos estão com aspas, como 
> faço para retirá-los.
> 


Primeiro veja qual é a diferença quando você utiliza aspas em:
http://pgdocptbr.sourceforge.net/pg80/sql-syntax.html#SQL-SYNTAX-IDENTIFIERS

"Os identificadores e as palavras chave não fazem distinção entre 
letras maiúsculas e minúsculas. Portanto,

UPDATE MINHA_TABELA SET A = 5;

pode ser escrito de forma equivalente como

uPDaTE minha_tabela SeT a = 5;

Normalmente utiliza-se a convenção de escrever as palavras chave em 
letras maiúsculas e os nomes em letras minúsculas, como mostrado abaixo:

UPDATE minha_tabela SET a = 5;

Existe um segundo tipo de identificador: o identificador delimitado ou 
identificador entre aspas, formado pela colocação de uma seqüência 
arbitrária de caracteres entre aspas ("). Um identificador delimitado 
é sempre um identificador, e nunca uma palavra chave. Portanto, 
"select" pode ser usado para fazer referência a uma tabela ou coluna 
chamada "select", enquanto select sem aspas sempre é uma palavra chave 
ocasionando, por isso, um erro do analisador quando usado onde um nome 
de tabela ou de coluna for esperado. O exemplo acima pode ser 
reescrito utilizando identificadores entre aspas como mostrado abaixo:

UPDATE "minha_tabela" SET "a" = 5;

Identificadores entre aspas podem conter qualquer caractere que não 
seja a própria aspas (Para incluir uma aspas, devem ser escritas duas 
aspas). Esta funcionalidade permite criar nomes de tabelas e de 
colunas que não seriam possíveis de outra forma, como os contendo 
espaços ou e-comercial (&). O limite do comprimento ainda se aplica.

Colocar um identificador entre aspas torna diferente as letras 
maiúsculas e minúsculas, enquanto as letras dos nomes não envoltos por 
aspas são sempre convertidas em minúsculas. Por exemplo, os 
identificadores FOO, foo e "foo" são considerados o mesmo 
identificador pelo PostgreSQL, mas "Foo" e "FOO" são diferentes dos 
três primeiros e entre si."

Agora para alterar seu identificador delimitado ou identificador entre 
aspas para um identificador comum creio que a maneira mais fácil seja 
você fazer um pg_dumpall:

pg_dumpall --schema-only --username=username > filename

http://pgdocptbr.sourceforge.net/pg80/app-pg-dumpall.html

Edite o arquivo filename e remova as aspas de seus identificadores.

Regarregue seu banco:

psql -f filename template1

Presumindo que seu banco ainda não tenha dados, se, por acaso, já 
tiver dados carregados não utilize a opção --schema-only.

Osvaldo

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

Responder a