Re: [pgbr-geral] Instalação do PostGreSql maquina que já tem o postgresql instalado

2012-04-09 Por tôpico Flavio Henrique Araque Gurgel
> Por gentileza, alguém pode nos dar um ajuda para seguinte situação:
>
>
>
> Estou tentando instalar o PostGreSql versão 8.4

PostgreSQL, por favor.

>
> Em uma maquina que já tem a versão 8.3 instalado.
>
>
>
> Quando pede para digitar a senha do usuário do Sistema postgres na
> instalação
>
> Não deixa prosseguir pois tem que ser informado a senha da conta postgre da
> instalação da 8.3

postgres

>
> O Problema que não sei esta senha e ninguém sabe... E não consigo instalar a
> versao 8.4
>
>
>
> O que posso fazer neste caso para instalar esta versão 8.4 ???

Qual o sistema operacional e versão?

> Alguma restrição para ter na maquina as duas versões?

Não há. basta que o PostgreSQL use portas diferentes.

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


[pgbr-geral] Instalação do PostGreSql maquina que já tem o postgresql instalado

2012-04-09 Por tôpico Jairo
Bom dia!

 

Por gentileza, alguém pode nos dar um ajuda para seguinte situação:

 

Estou tentando instalar o PostGreSql versão 8.4

Em uma maquina que já tem a versão 8.3 instalado.

 

Quando pede para digitar a senha do usuário do Sistema postgres na
instalação

Não deixa prosseguir pois tem que ser informado a senha da conta postgre da
instalação da 8.3

O Problema que não sei esta senha e ninguém sabe... E não consigo instalar a
versao 8.4

 

O que posso fazer neste caso para instalar esta versão 8.4 ???

Alguma restrição para ter na maquina as duas versões? 

 

Muito obrigado pela atenção!!

 

Jairo de Melo Lázaro

 

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


Re: [pgbr-geral] Insert or Update

2012-04-09 Por tôpico Guimarães Faria Corcete DUTRA , Leandro
2012/4/9 Raphael Mattos :
> Galera agradeço a todos que postaram, se não existe ainda uma alternativa
> vou ter que fazer na mão, verificando via select se o dados existe ou não.

Nah, experimente a operação mais comum e capture eventual erro para a
outra operação.  Creio que alguém já até postou um exemplo nesta
discussão.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Insert or Update

2012-04-09 Por tôpico Matheus de Oliveira
On Mon, Apr 9, 2012 at 11:33 AM, Raphael Mattos wrote:

> Galera agradeço a todos que postaram, se não existe ainda uma alternativa
> vou ter que fazer na mão, verificando via select se o dados existe ou não.
>
> Em 9 de abril de 2012 11:18, Osvaldo Kussama 
> escreveu:
>
> Em 09/04/12, Raphael Mattos escreveu:
>> > Olá, sou novo no mundo Postgresql, e gostaria de saber se existe algum
>> > comando para inserir ou atualizar de uma única vez como no Mysql .
>> > No MySQL, por exemplo, vc pode usar o comando:
>> > Insert cliente (id,codigo, nome) values (1,'01', 'José')
>> > on duplicate key update
>> > nome = 'José da Silva';
>> > --
>>
>>
>> Não existe comando semelhante.
>>
>> Está na TODO List:
>> "Add SQL-standard MERGE/REPLACE/UPSERT command
>>MERGE is typically used to merge two tables. REPLACE or UPSERT
>> command does UPDATE, or on failure, INSERT. See SQL MERGE for notes on
>> the implementation details."
>> http://wiki.postgresql.org/wiki/Todo
>>
>> Veja um exemplo de rotina que faz o que deseja, o ex. 39-2 em:
>>
>> http://www.postgresql.org/docs/current/interactive/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING
>>
>> Osvaldo
>> ___
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
>
>
> --
> *Raphael Filipe Mattos *
> *Desenvolvimento*
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
Cara, dá uma olhada no exemplo que passei, ele faz isso numa tacada só.
Parece meio grande a princípio, mas é simples de entender.

Ah, lembrando que só funciona nas versões mais novas do PostgreSQL.

--
Matheus de Oliveira

Bacharelado em Ciências de Computação
Laboratório de Computação de Alto Desempenho -
LCAD
Instituto de Ciências Matemáticas e de Computação -
ICMC
Universidade de São Paulo - USP 
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Insert or Update

2012-04-09 Por tôpico Raphael Mattos
Galera agradeço a todos que postaram, se não existe ainda uma alternativa
vou ter que fazer na mão, verificando via select se o dados existe ou não.

Em 9 de abril de 2012 11:18, Osvaldo Kussama
escreveu:

> Em 09/04/12, Raphael Mattos escreveu:
> > Olá, sou novo no mundo Postgresql, e gostaria de saber se existe algum
> > comando para inserir ou atualizar de uma única vez como no Mysql .
> > No MySQL, por exemplo, vc pode usar o comando:
> > Insert cliente (id,codigo, nome) values (1,'01', 'José')
> > on duplicate key update
> > nome = 'José da Silva';
> > --
>
>
> Não existe comando semelhante.
>
> Está na TODO List:
> "Add SQL-standard MERGE/REPLACE/UPSERT command
>MERGE is typically used to merge two tables. REPLACE or UPSERT
> command does UPDATE, or on failure, INSERT. See SQL MERGE for notes on
> the implementation details."
> http://wiki.postgresql.org/wiki/Todo
>
> Veja um exemplo de rotina que faz o que deseja, o ex. 39-2 em:
>
> http://www.postgresql.org/docs/current/interactive/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING
>
> Osvaldo
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
*Raphael Filipe Mattos *
*Desenvolvimento*
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Insert or Update

2012-04-09 Por tôpico Osvaldo Kussama
Em 09/04/12, Raphael Mattos escreveu:
> Olá, sou novo no mundo Postgresql, e gostaria de saber se existe algum
> comando para inserir ou atualizar de uma única vez como no Mysql .
> No MySQL, por exemplo, vc pode usar o comando:
> Insert cliente (id,codigo, nome) values (1,'01', 'José')
> on duplicate key update
> nome = 'José da Silva';
> --


Não existe comando semelhante.

Está na TODO List:
"Add SQL-standard MERGE/REPLACE/UPSERT command
MERGE is typically used to merge two tables. REPLACE or UPSERT
command does UPDATE, or on failure, INSERT. See SQL MERGE for notes on
the implementation details."
http://wiki.postgresql.org/wiki/Todo

Veja um exemplo de rotina que faz o que deseja, o ex. 39-2 em:
http://www.postgresql.org/docs/current/interactive/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING

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] Insert or Update

2012-04-09 Por tôpico Tulio Santos
Motivo nenhum, apenas por não variar o comando nas versões..
(apesar de não saber a versão do amigo..)

mas obrigado pela correção

 
Att,
Tulio




>
> De: "Guimarães Faria Corcete DUTRA, Leandro" 
>Para: Tulio Santos ; Comunidade PostgreSQL 
>Brasileira  
>Enviadas: Segunda-feira, 9 de Abril de 2012 10:56
>Assunto: Re: [pgbr-geral] Insert or Update
> 
>2012/4/9 Tulio Santos :
>>
>> [1] - http://www.postgresql.org/docs/8.1/static/sql-insert.html
>
>Algum motivo para recomendar uma documentação tão antiga?
>
>Melhor http://www.postgresql.org/docs/9.1/static/sql-insert.html
>
>
>___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Insert or Update

2012-04-09 Por tôpico Flavio Henrique Araque Gurgel
> Não. O PostgreSQL não possui upsert, apesar de que há muitas discussões nas
> listas para implementar-se o comando MERGE.
>
> Mas, claro que existem alternativas. Uma que gosto bastante é realizar um
> UPDATE primeiro e verificar quais as tuplas NÃO foram atualizadas, dá pra
> fazer isso com um único comando (apesar de meio grandinho). Ex:

(...)
Outra alternativa é criar uma regra (rule) para a tabela, fazendo um
ON INSERT DO INSTEAD...

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


Re: [pgbr-geral] Insert or Update

2012-04-09 Por tôpico Matheus de Oliveira
On Mon, Apr 9, 2012 at 10:51 AM, Tulio Santos wrote:

> Olá,
>
> Não sei se entendi bem sua duvida, mas confira os exemplos no link[1]
>
> [1] - http://www.postgresql.org/docs/8.1/static/sql-insert.html
>
> Att,
> Tulio
>
>   --
> *De:* Raphael Mattos 
> *Para:* pgbr-geral@listas.postgresql.org.br
> *Enviadas:* Segunda-feira, 9 de Abril de 2012 10:30
> *Assunto:* [pgbr-geral] Insert or Update
>
>
> Olá, sou novo no mundo Postgresql, e gostaria de saber se existe algum
> comando para inserir ou atualizar de uma única vez como no Mysql .
> No MySQL, por exemplo, vc pode usar o comando:
> Insert cliente (id,codigo, nome) values (1,'01', 'José')
> on duplicate key update
> nome = 'José da Silva';
> --
> *Raphael Filipe Mattos *
> *Desenvolvimento*
>
>
> ___
> 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
>
>
Não. O PostgreSQL não possui upsert, apesar de que há muitas discussões nas
listas para implementar-se o comando MERGE.

Mas, claro que existem alternativas. Uma que gosto bastante é realizar um
UPDATE primeiro e verificar quais as tuplas NÃO foram atualizadas, dá pra
fazer isso com um único comando (apesar de meio grandinho). Ex:

with vals (id, codigo, nome) as (
-- Valores que serão inseridos ou atualizados (pode ser mais de um:
union all)
values(1, '01', 'José')
union all
values(2, '02', 'João')
), updated (id) as (
-- Faz um update e retorna apenas os ID's que foram atualizados
update cliente
set codigo = v.codigo,
nome = v.nome
from vals v
where cliente.id = v.id
returning cliente.id -- retorna os ID's
)
-- Insere somente os que não foram atualizados (not in)
insert into cliente(id, codigo, nome)
select * from vals
where id not in (
select id from updated -- O update de fato só acontece mesmo aqui
);


Veja se deu pra entender.

Att.
--
Matheus de Oliveira

Bacharelado em Ciências de Computação
Laboratório de Computação de Alto Desempenho -
LCAD
Instituto de Ciências Matemáticas e de Computação -
ICMC
Universidade de São Paulo - USP 
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Insert or Update

2012-04-09 Por tôpico Alexsander Rosa
Em 9 de abril de 2012 10:56, Guimarães Faria Corcete DUTRA, Leandro <
l...@dutras.org> escreveu:

>
> Algum motivo para recomendar uma documentação tão antiga?
>
> Melhor http://www.postgresql.org/docs/9.1/static/sql-insert.html
>
>
De qualquer forma nenhum dos links responde a pergunta dele...
A resposta é: "Não, o PostgreSQL não tem UPSERT nem MERGE ainda".
Mas dá pra fazer com triggers, de uma forma não genérica:
http://www.postgresql.org/docs/current/static/plpgsql-control-structures.html#PLPGSQL-UPSERT-EXAMPLE

-- 
Atenciosamente,
Alexsander da Rosa
http://rednaxel.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] Insert or Update

2012-04-09 Por tôpico Guimarães Faria Corcete DUTRA , Leandro
2012/4/9 Tulio Santos :
>
> [1] - http://www.postgresql.org/docs/8.1/static/sql-insert.html

Algum motivo para recomendar uma documentação tão antiga?

Melhor http://www.postgresql.org/docs/9.1/static/sql-insert.html
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Insert or Update

2012-04-09 Por tôpico Tulio Santos
Olá,

Não sei se entendi bem sua duvida, mas confira os exemplos no link[1]

[1] - http://www.postgresql.org/docs/8.1/static/sql-insert.html

 
Att,
Tulio




>
> De: Raphael Mattos 
>Para: pgbr-geral@listas.postgresql.org.br 
>Enviadas: Segunda-feira, 9 de Abril de 2012 10:30
>Assunto: [pgbr-geral] Insert or Update
> 
>
>
>
>Olá, sou novo no mundo Postgresql, e gostaria de saber se existe algum comando 
>para inserir ou atualizar de uma única vez como no Mysql . 
>No MySQL, por exemplo, vc pode usar o comando:
>Insert cliente (id,codigo, nome) values (1,'01', 'José')
>on duplicate key update
>    nome = 'José da Silva';-- 
>Raphael Filipe Mattos 
>        Desenvolvimento
>
>___
>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] Insert or Update

2012-04-09 Por tôpico Raphael Mattos
Olá, sou novo no mundo Postgresql, e gostaria de saber se existe algum
comando para inserir ou atualizar de uma única vez como no Mysql .
No MySQL, por exemplo, vc pode usar o comando:
Insert cliente (id,codigo, nome) values (1,'01', 'José')
on duplicate key update
nome = 'José da Silva';



*Raphael Filipe Mattos *
*Desenvolvimento*
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Insert or Update

2012-04-09 Por tôpico Raphael Mattos
Olá, sou novo no mundo Postgresql, e gostaria de saber se existe algum
comando para inserir ou atualizar de uma única vez como no Mysql .
No MySQL, por exemplo, vc pode usar o comando:
Insert cliente (id,codigo, nome) values (1,'01', 'José')
on duplicate key update
nome = 'José da Silva';
-- 
*Raphael Filipe Mattos *
*Desenvolvimento*
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral