Re: [pgbr-geral] duvida com indice em campo booleano

2014-09-20 Por tôpico Tiago José Adami
Em 19 de setembro de 2014 23:28, Wellington wm...@yahoo.com.br escreveu:
 Pessoal,

 em uma tabela foi criado um indice assim: campo = false.

 Quando eu rodo a consulta selecionando campo is false, o indice nao é
 utilizado.
 O indice so é utilizado se seleciono campo = false.
 Alguem saberia me explicar por que isso acontece ?

Esse é um recurso do PostgreSQL chamado índice parcial (ou /partial
index/ [1]). Se for utilizar esse recurso, você precisaria criar um
índices para os valores false e outro para os valores true. Dependendo
do número de registros da tabela, um índice simples (sem a clausula de
condição explícita) já é o bastante.

Resumindo: ao invés de criar o índice com uma condição (coluna =
valor), utilize apenas o nome da coluna.

CREATE INDEX indice ON tabela (nome_da_coluna)

Dá uma lida na documentação abaixo:

[1] http://www.postgresql.org/docs/9.3/static/indexes-expressional.html


TIAGO J. ADAMI
http://www.adamiworks.com
@tiadami
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Backup fisico

2014-09-20 Por tôpico William Felipe Welter
Em 19/09/2014 22:54, Danilo Silva danilo.dsg.go...@gmail.com escreveu:

 Pessoal,

 Atualmente eu tenho apenas uma database criada, onde foi definida uma
tablespace.

 No caso do backup físico, eu tenho que copiar o $PGDATA + o diretório da
tablespace?
Sim


 Como seria o restore desse backup físico?
Depende:
-se fez este  backup com o banco parado, basta inicializar com o pg_ctl
apontando para o diretório onde esta o pgdata do backup
- se fez o backup a quente (com o banco online), precisar ter configurado o
PITR (habilitar arquivamento do wal, pg_start/stop_backup..). Neste caso
para restaurar é necessário criar o arquivo recovery.conf no diretorio do
pgdata e nele apontar para o diretório onde os wal estão arquivados, por
fim iniciar o banco.

 O pg_basebackup serve também para efetuarmos o backup físico?
Sim, e ele ja inclui as tablespaces.

Se não conhece muito sobre PITR, recomendo dar uma lida na documentação
antes realizar os procedimentos em prod.

 []s
 Danilo

 ___
 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] duvida com indice em campo booleano

2014-09-20 Por tôpico Matheus de Oliveira
2014-09-19 23:28 GMT-03:00 Wellington wm...@yahoo.com.br:

 em uma tabela foi criado um indice assim: campo = false.

 Quando eu rodo a consulta selecionando campo is false, o indice nao é
 utilizado.
 O indice so é utilizado se seleciono campo = false.
 Alguem saberia me explicar por que isso acontece ?


O operador IS e o operador de igualdade não são equivalentes. O operador de
igualdade considera valores iguais mas retorna NULL caso um dos operandos
seja NULL, já o IS considera exatamente iguais ignorando valores nulos,
como se NULL fosse um terceiro valor possível (e.g. no caso retorna FALSE
caso campo seja NULL ou TRUE, e TRUE caso o campo seja FALSE).

Para exemplificar, veja:

postgres=# SELECT false IS false, null::boolean IS false, false =
false, null::boolean = false;
 ?column? | ?column? | ?column? | ?column?
--+--+--+--
 t| f| t| (null)
(1 row)

Para índices parciais, sempre tente casar exatamente igual.

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] duvida com indice em campo booleano

2014-09-20 Por tôpico Tiago José Adami
Em 20/09/2014 14:34, Matheus de Oliveira matioli.math...@gmail.com
escreveu:


 2014-09-19 23:28 GMT-03:00 Wellington wm...@yahoo.com.br:

 em uma tabela foi criado um indice assim: campo = false.

 Quando eu rodo a consulta selecionando campo is false, o indice nao é
utilizado.
 O indice so é utilizado se seleciono campo = false.
 Alguem saberia me explicar por que isso acontece ?


 O operador IS e o operador de igualdade não são equivalentes. O operador
de igualdade considera valores iguais mas retorna NULL caso um dos
operandos seja NULL, já o IS considera exatamente iguais ignorando valores
nulos, como se NULL fosse um terceiro valor possível (e.g. no caso retorna
FALSE caso campo seja NULL ou TRUE, e TRUE caso o campo seja FALSE).

 Para exemplificar, veja:

 postgres=# SELECT false IS false, null::boolean IS false, false =
false, null::boolean = false;
  ?column? | ?column? | ?column? | ?column?
 --+--+--+--
  t| f| t| (null)
 (1 row)

 Para índices parciais, sempre tente casar exatamente igual.

Ops, na ânsia de querer ajudar fiz uma leitura péssima e não percebi a
cláusula. Boa explicação, Matheus.

---
Tiago J. Adami
Sent from GMail
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] duvida com indice em campo booleano

2014-09-20 Por tôpico Matheus de Oliveira
2014-09-20 14:42 GMT-03:00 Tiago José Adami adam...@gmail.com:

 Ops, na ânsia de querer ajudar fiz uma leitura péssima e não percebi a
 cláusula. Boa explicação, Matheus.


Acontece cara. Tranquilo.

:-)

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] importação

2014-09-20 Por tôpico Felipe Moura
Fala Pessoal,

Vou precisar fazer uma importação de dados e gostaria de saber uma forma
bacana de fazer pelo postgres. O arquivo com dados esta em csv.
O que sugerem?

Grato!

-- 

Atenciosamente,

Felipe Moura
Desenvolvedor Web
http://about.me/felipewebdf
twitter: @felipewebdf
talk: felipegu...@gmail.com
msn: gu...@hotmail.com

(61) 8490-8156
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral