Re: [pgbr-geral] Como Mudar a Posição dos Campos ?
2010/9/6 Marcelo Silva marc...@ig.com.br hum... preciso... as vezes preciso fazer umas migrações de dados e pra isso uso um comando for onde conta o fields da tabela origem e associa a tabela destino... e se os campos não estiverem na mesma posicao ai vou ter que fazer um a um. Seu processo de migração está quebrado pois depende de algo assumido que talvez não seja verdade. Re-escrever o processo de migração de maneira correta e com tratamento de erros seria a solução mais correta. Roberto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Como Mudar a Posição dos Campos ?
Bem... visto que o postgres não tem este recurso, vou pensar em outra maneira com um pouco mais de trabalho. Muito obrigado a todos... Marcelo Silva msn: marc...@ig.com.br cel.: (11) 9693-4251 Kubuntu User number is # 24362 - Original Message - From: Roberto Mello To: Comunidade PostgreSQL Brasileira Sent: Wednesday, September 08, 2010 9:56 AM Subject: Re: [pgbr-geral]Como Mudar a Posição dos Campos ? 2010/9/6 Marcelo Silva marc...@ig.com.br hum... preciso... as vezes preciso fazer umas migrações de dados e pra isso uso um comando for onde conta o fields da tabela origem e associa a tabela destino... e se os campos não estiverem na mesma posicao ai vou ter que fazer um a um. Seu processo de migração está quebrado pois depende de algo assumido que talvez não seja verdade. Re-escrever o processo de migração de maneira correta e com tratamento de erros seria a solução mais correta. Roberto -- ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Como Mudar a Posição dos Campos ?
O melhor jeito de fazer uma reordenação de campos preservando os dados nas suas respectivas colunas é executando: CREATE LOCAL TEMPORARY TABLE nome_tabela0fjdxu ( campo1 INTEGER, campo2 VARCHAR(40), campo3 INTEGER ) WITH OIDS; INSERT INTO nome_tabela0fjdxu (campo1, campo2, campo3) SELECT campo1, campo2, campo3 FROM nome_tabela; DROP TABLE nome_tabela; CREATE TABLE nome_tabela ( campo2 VARCHAR(40), campo1 SERIAL NOT NULL, campo3 INTEGER ) WITH OIDS; SELECT setval(' nome_tabela_campo1_seq', 19, false); INSERT INTO nome_tabela (campo2, campo1, campo3) SELECT campo2, campo1, campo3 FROM nome_tabela0fjdxu; Em 6 de setembro de 2010 17:40, Marcelo Silva marc...@ig.com.br escreveu: Pessoal, como faz pra mudar a posição de um campo? Procurei no pgAdmin3 mas não achei O Postgres aceita isso ? Exemplo, tenho a tabela Funcionarios cod_fun nome rg cod_emp cpf Queria mudar para cod_fun nome cpf rg cod_emp Mas sem ter que deletar e recriar os campos denovo pois a tabela já está populada. Marcelo Silva msn: marc...@ig.com.br cel.: (11) 9693-4251 Kubuntu User number is # 24362 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Como Mudar a Posição dos Campos ?
Marcelo, veja que não é uma questão de recurso. O padrão SQL não prevê este tipo de coisa. A teoria relacional não trabalha desta forma, a órdem dos campos não deve ser nunca relevante. Em resumo: SELECT * FROM é uma gambiarra que não deve ser utilizada nunca em produção!!! É por isso que tanta gente briga com se acostumou apenas com MySQL. Ele cria vícios que são ruins. Meus 2 centavos. Em 8 de setembro de 2010 11:45, Marcelo Silva marc...@ig.com.br escreveu: Bem... visto que o postgres não tem este recurso, vou pensar em outra maneira com um pouco mais de trabalho. Muito obrigado a todos... Marcelo Silva msn: marc...@ig.com.br cel.: (11) 9693-4251 Kubuntu User number is # 24362 - Original Message - From: Roberto Mello To: Comunidade PostgreSQL Brasileira Sent: Wednesday, September 08, 2010 9:56 AM Subject: Re: [pgbr-geral]Como Mudar a Posição dos Campos ? 2010/9/6 Marcelo Silva marc...@ig.com.br hum... preciso... as vezes preciso fazer umas migrações de dados e pra isso uso um comando for onde conta o fields da tabela origem e associa a tabela destino... e se os campos não estiverem na mesma posicao ai vou ter que fazer um a um. Seu processo de migração está quebrado pois depende de algo assumido que talvez não seja verdade. Re-escrever o processo de migração de maneira correta e com tratamento de erros seria a solução mais correta. Roberto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- blog: http://www.midstorm.org/~telles/ e-mail / jabber: fabio.tel...@gmail.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Como Mudar a Posição dos Campos ?
hum... Obrigado pela dica Emerson Marcelo Silva msn: marc...@ig.com.br cel.: (11) 9693-4251 Kubuntu User number is # 24362 - Original Message - From: Émerson Eng. emersonnar...@gmail.com To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Sent: Wednesday, September 08, 2010 12:18 PM Subject: Re: [pgbr-geral]Como Mudar a Posição dos Campos ? O melhor jeito de fazer uma reordenação de campos preservando os dados nas suas respectivas colunas é executando: CREATE LOCAL TEMPORARY TABLE nome_tabela0fjdxu ( campo1 INTEGER, campo2 VARCHAR(40), campo3 INTEGER ) WITH OIDS; INSERT INTO nome_tabela0fjdxu (campo1, campo2, campo3) SELECT campo1, campo2, campo3 FROM nome_tabela; DROP TABLE nome_tabela; CREATE TABLE nome_tabela ( campo2 VARCHAR(40), campo1 SERIAL NOT NULL, campo3 INTEGER ) WITH OIDS; SELECT setval(' nome_tabela_campo1_seq', 19, false); INSERT INTO nome_tabela (campo2, campo1, campo3) SELECT campo2, campo1, campo3 FROM nome_tabela0fjdxu; Em 6 de setembro de 2010 17:40, Marcelo Silva marc...@ig.com.br escreveu: Pessoal, como faz pra mudar a posição de um campo? Procurei no pgAdmin3 mas não achei O Postgres aceita isso ? Exemplo, tenho a tabela Funcionarios cod_fun nome rg cod_emp cpf Queria mudar para cod_fun nome cpf rg cod_emp Mas sem ter que deletar e recriar os campos denovo pois a tabela já está populada. Marcelo Silva msn: marc...@ig.com.br cel.: (11) 9693-4251 Kubuntu User number is # 24362 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Como Mudar a Posição dos Campos ?
Olá Marcelo qual linguagem você usa, talvez você possa contornar o problema na linguagem e não no SQL Édson 2010/9/8 Marcelo Silva marc...@ig.com.br hum... Obrigado pela dica Emerson Marcelo Silva msn: marc...@ig.com.br cel.: (11) 9693-4251 Kubuntu User number is # 24362 - Original Message - From: Émerson Eng. emersonnar...@gmail.com To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Sent: Wednesday, September 08, 2010 12:18 PM Subject: Re: [pgbr-geral]Como Mudar a Posição dos Campos ? O melhor jeito de fazer uma reordenação de campos preservando os dados nas suas respectivas colunas é executando: CREATE LOCAL TEMPORARY TABLE nome_tabela0fjdxu ( campo1 INTEGER, campo2 VARCHAR(40), campo3 INTEGER ) WITH OIDS; INSERT INTO nome_tabela0fjdxu (campo1, campo2, campo3) SELECT campo1, campo2, campo3 FROM nome_tabela; DROP TABLE nome_tabela; CREATE TABLE nome_tabela ( campo2 VARCHAR(40), campo1 SERIAL NOT NULL, campo3 INTEGER ) WITH OIDS; SELECT setval(' nome_tabela_campo1_seq', 19, false); INSERT INTO nome_tabela (campo2, campo1, campo3) SELECT campo2, campo1, campo3 FROM nome_tabela0fjdxu; Em 6 de setembro de 2010 17:40, Marcelo Silva marc...@ig.com.br escreveu: Pessoal, como faz pra mudar a posição de um campo? Procurei no pgAdmin3 mas não achei O Postgres aceita isso ? Exemplo, tenho a tabela Funcionarios cod_fun nome rg cod_emp cpf Queria mudar para cod_fun nome cpf rg cod_emp Mas sem ter que deletar e recriar os campos denovo pois a tabela já está populada. Marcelo Silva msn: marc...@ig.com.br cel.: (11) 9693-4251 Kubuntu User number is # 24362 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Como Mudar a Posição dos Campos ?
Uso delphi e dá pra fazer pelo sistema sim... O que acontece é que estou portando um sistema feito com mysql para o postgres, e algumas funcoes usam o index (posicao) do campo, mas já estou reajustando conforme o postgres. É que já que alguns bancos nos dão essa facilidade eu gosto de fazer uso, mas no caso do postgres vou me adaptando... nada que umas linhas a mais no programa não resolva. Se o postgres tivesse esse recurso me pouparia um trabalho a mais... mas tudo bem, estou gostando muito do postgres Marcelo Silva msn: marc...@ig.com.br cel.: (11) 9693-4251 Kubuntu User number is # 24362 - Original Message - From: Édson Mundin Ferreira To: Comunidade PostgreSQL Brasileira Sent: Wednesday, September 08, 2010 1:16 PM Subject: Re: [pgbr-geral]Como Mudar a Posição dos Campos ? Olá Marcelo qual linguagem você usa, talvez você possa contornar o problema na linguagem e não no SQL Édson 2010/9/8 Marcelo Silva marc...@ig.com.br hum... Obrigado pela dica Emerson Marcelo Silva msn: marc...@ig.com.br cel.: (11) 9693-4251 Kubuntu User number is # 24362 - Original Message - From: Émerson Eng. emersonnar...@gmail.com To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Sent: Wednesday, September 08, 2010 12:18 PM Subject: Re: [pgbr-geral]Como Mudar a Posição dos Campos ? O melhor jeito de fazer uma reordenação de campos preservando os dados nas suas respectivas colunas é executando: CREATE LOCAL TEMPORARY TABLE nome_tabela0fjdxu ( campo1 INTEGER, campo2 VARCHAR(40), campo3 INTEGER ) WITH OIDS; INSERT INTO nome_tabela0fjdxu (campo1, campo2, campo3) SELECT campo1, campo2, campo3 FROM nome_tabela; DROP TABLE nome_tabela; CREATE TABLE nome_tabela ( campo2 VARCHAR(40), campo1 SERIAL NOT NULL, campo3 INTEGER ) WITH OIDS; SELECT setval(' nome_tabela_campo1_seq', 19, false); INSERT INTO nome_tabela (campo2, campo1, campo3) SELECT campo2, campo1, campo3 FROM nome_tabela0fjdxu; Em 6 de setembro de 2010 17:40, Marcelo Silva marc...@ig.com.br escreveu: Pessoal, como faz pra mudar a posição de um campo? Procurei no pgAdmin3 mas não achei O Postgres aceita isso ? Exemplo, tenho a tabela Funcionarios cod_fun nome rg cod_emp cpf Queria mudar para cod_fun nome cpf rg cod_emp Mas sem ter que deletar e recriar os campos denovo pois a tabela já está populada. Marcelo Silva msn: marc...@ig.com.br cel.: (11) 9693-4251 Kubuntu User number is # 24362 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Como Mudar a Posição dos Campos ?
Em 8 de setembro de 2010 13:16, Édson Mundin Ferreira edson.mun...@gmail.com escreveu: Olá Marcelo qual linguagem você usa, talvez você possa contornar o problema na linguagem e não no SQL Marcelo: De qualquer forma é possível, mas não trivial, implementar uma função que realize essa atividade para vc... a maior dificuldade que vejo é mapear as dependências e depois de reordenar recriar as mesmas. -- Fabrízio de Royes Mello Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Como Mudar a Posição dos Campos ?
Só para lembrar, qnd utilizar o CREATE TABLE AS SELECT de você deverá criar novamente os indices, FK's, e PK's inté victor hugo Em 6 de setembro de 2010 18:17, Osvaldo Kussama osvaldo.kuss...@gmail.com escreveu: Em 6 de setembro de 2010 17:59, Marcelo Silva marc...@ig.com.br escreveu: hum... preciso... as vezes preciso fazer umas migrações de dados e pra isso uso um comando for onde conta o fields da tabela origem e associa a tabela destino... e se os campos não estiverem na mesma posicao ai vou ter que fazer um a um. Existe outra forma de eu fazer isso, mas se o postgres me permitir mudar a posição dos campos será um mão na roda. O PostgreSQL não implementa tal operação. Ou inclua os nomes dos campos na ordem desejada em seus SELECT ou recrie sua tabela, por ex. com: CREATE TABLE AS onde na query você coloca o SELECT com os campos na ordem desejada. Marcelo Silva msn: marc...@ig.com.br cel.: (11) 9693-4251 Kubuntu User number is # 24362 - Original Message - From: Alexsander Rosa To: Comunidade PostgreSQL Brasileira Sent: Monday, September 06, 2010 5:44 PM Subject: Re: [pgbr-geral]Como Mudar a Posição dos Campos ? Você precisa MESMO disto? O ideal é usar os nomes das colunas nos comandos SQL. Em 6 de setembro de 2010 17:40, Marcelo Silva marc...@ig.com.br escreveu: Pessoal, como faz pra mudar a posição de um campo? Procurei no pgAdmin3 mas não achei O Postgres aceita isso ? Exemplo, tenho a tabela Funcionarios cod_fun nome rg cod_emp cpf Queria mudar para cod_fun nome cpf rg cod_emp Mas sem ter que deletar e recriar os campos denovo pois a tabela já está populada. Osvaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- []´s Victor Hugo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Como Mudar a Posição dos Campos ?
Pessoal, como faz pra mudar a posição de um campo? Procurei no pgAdmin3 mas não achei O Postgres aceita isso ? Exemplo, tenho a tabela Funcionarios cod_fun nome rg cod_emp cpf Queria mudar para cod_fun nome cpf rg cod_emp Mas sem ter que deletar e recriar os campos denovo pois a tabela já está populada. Marcelo Silva msn: marc...@ig.com.br cel.: (11) 9693-4251 Kubuntu User number is # 24362 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Como Mudar a Posição dos Campos ?
Você precisa MESMO disto? O ideal é usar os nomes das colunas nos comandos SQL. Em 6 de setembro de 2010 17:40, Marcelo Silva marc...@ig.com.br escreveu: Pessoal, como faz pra mudar a posição de um campo? Procurei no pgAdmin3 mas não achei O Postgres aceita isso ? Exemplo, tenho a tabela Funcionarios cod_fun nome rg cod_emp cpf Queria mudar para cod_fun nome cpf rg cod_emp Mas sem ter que deletar e recriar os campos denovo pois a tabela já está populada. -- Atenciosamente, Alexsander da Rosa Linux User #113925 Extremismo na defesa da liberdade não é defeito. Moderação na busca por justiça não é virtude. -- Barry Goldwater ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Como Mudar a Posição dos Campos ?
hum... preciso... as vezes preciso fazer umas migrações de dados e pra isso uso um comando for onde conta o fields da tabela origem e associa a tabela destino... e se os campos não estiverem na mesma posicao ai vou ter que fazer um a um. Existe outra forma de eu fazer isso, mas se o postgres me permitir mudar a posição dos campos será um mão na roda. Marcelo Silva msn: marc...@ig.com.br cel.: (11) 9693-4251 Kubuntu User number is # 24362 - Original Message - From: Alexsander Rosa To: Comunidade PostgreSQL Brasileira Sent: Monday, September 06, 2010 5:44 PM Subject: Re: [pgbr-geral]Como Mudar a Posição dos Campos ? Você precisa MESMO disto? O ideal é usar os nomes das colunas nos comandos SQL. Em 6 de setembro de 2010 17:40, Marcelo Silva marc...@ig.com.br escreveu: Pessoal, como faz pra mudar a posição de um campo? Procurei no pgAdmin3 mas não achei O Postgres aceita isso ? Exemplo, tenho a tabela Funcionarios cod_fun nome rg cod_emp cpf Queria mudar para cod_fun nome cpf rg cod_emp Mas sem ter que deletar e recriar os campos denovo pois a tabela já está populada. -- Atenciosamente, Alexsander da Rosa Linux User #113925 Extremismo na defesa da liberdade não é defeito. Moderação na busca por justiça não é virtude. -- Barry Goldwater -- ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Como Mudar a Posição dos Campos ?
Em 6 de setembro de 2010 17:59, Marcelo Silva marc...@ig.com.br escreveu: hum... preciso... as vezes preciso fazer umas migrações de dados e pra isso uso um comando for onde conta o fields da tabela origem e associa a tabela destino... e se os campos não estiverem na mesma posicao ai vou ter que fazer um a um. Existe outra forma de eu fazer isso, mas se o postgres me permitir mudar a posição dos campos será um mão na roda. O PostgreSQL não implementa tal operação. Ou inclua os nomes dos campos na ordem desejada em seus SELECT ou recrie sua tabela, por ex. com: CREATE TABLE AS onde na query você coloca o SELECT com os campos na ordem desejada. Marcelo Silva msn: marc...@ig.com.br cel.: (11) 9693-4251 Kubuntu User number is # 24362 - Original Message - From: Alexsander Rosa To: Comunidade PostgreSQL Brasileira Sent: Monday, September 06, 2010 5:44 PM Subject: Re: [pgbr-geral]Como Mudar a Posição dos Campos ? Você precisa MESMO disto? O ideal é usar os nomes das colunas nos comandos SQL. Em 6 de setembro de 2010 17:40, Marcelo Silva marc...@ig.com.br escreveu: Pessoal, como faz pra mudar a posição de um campo? Procurei no pgAdmin3 mas não achei O Postgres aceita isso ? Exemplo, tenho a tabela Funcionarios cod_fun nome rg cod_emp cpf Queria mudar para cod_fun nome cpf rg cod_emp Mas sem ter que deletar e recriar os campos denovo pois a tabela já está populada. Osvaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral