Re: [pgbr-geral] Delete

2017-12-18 Por tôpico Fábio Telles Rodriguez
vamos imaginar que a tabela 't' tem o campo 'id' que você quer remover as
20 mil linhas:

postgres=# create table t (id integer);
CREATE TABLE
postgres=# insert into t select * from generate_series(1,150);
LOG:  temporary file: path
"pg_tblspc/581531196/PG_9.3_201306121/pgsql_tmp/pgsql_tmp29753.0", size
2100
INSERT 0 150

Agora vou criar uma tabela temporária que tenha 20 mil registros
aleatórios. Serão os registros que eu vou querer apagar da tabela 't'

postgres=# create temporary table f (id integer);
CREATE TABLE
postgres=# insert into f select round(random()*150) from
generate_series(1,2);
INSERT 0 2

Agora eu faço o DELETE dos registros que escolhi:

postgres=# delete from t where exists (select 1 from f where f.id=t.id);
DELETE 19866

Ou seja, eu prefiro fazer um SUBSELECT para apagar tudo.


Em 18 de dezembro de 2017 17:15, Danilo Silva 
escreveu:

> Pessoal,
>
> Qual seria a melhor prática para deletar 20 mil registros em uma tabela
> com 1,5 milhões de registros, vale ressaltar que o campo condicional do
> delete é a pk da tabela:
>
> a) Deletar os 20 mil de uma só vez com a condição "IN" no WHERE;
> b) Fazer um loop na aplicação e deletar um por vez;
> c) Outra técnica (qual?);
>
> Existe alguma forma de melhorar a rapidez do delete? Algum parâmetro no
> .conf?
>
> []s
> Danilo
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
Atenciosamente,
Fábio Telles Rodriguez
blog: http:// s
avepoint.blog.br
e-mail / gtalk / MSN: fabio.tel...@gmail.com
Skype: fabio_telles

Timbira - A empresa brasileira de Postgres
http://www.timbira.com.br
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] Delete

2017-12-18 Por tôpico Danilo Silva
Pessoal,

Qual seria a melhor prática para deletar 20 mil registros em uma tabela com
1,5 milhões de registros, vale ressaltar que o campo condicional do delete
é a pk da tabela:

a) Deletar os 20 mil de uma só vez com a condição "IN" no WHERE;
b) Fazer um loop na aplicação e deletar um por vez;
c) Outra técnica (qual?);

Existe alguma forma de melhorar a rapidez do delete? Algum parâmetro no
.conf?

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

Re: [pgbr-geral] Dúvida pgbouncer

2017-12-18 Por tôpico Luiz Carlos L. Nogueira Jr.
valeu
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral