Re: [pgbr-geral] Como alterar a tablespaces do pg_largeobject?

2009-03-04 Por tôpico JotaComm
Olá, pessoal

Ontem eu fiquei pensando bastante sobre essa questão de mudar a
pg_largeobject para um outro lugar usando o recurso de tablespace.
Pensei, pensei e não cheguei a conclusão de qual seria a vantagem
disso. E me fiz a seguinte pergunta: Qual a grande vantagem de fazer
essa modificação?  Performance? Organização/distribuição das tabelas e
índices para melhorar o layout? Se for relacionado a performance não
acredito que isso não trará ganhos absurdos de performance. Se for
para melhorar o layout irei misturar tabelas de sistema com tabelas de
usuário e sinceramente não acredito que isso seja uma boa prática. Ai
faço outra pergunta: Por que não deixar o catálogo onde está e
trabalhar com o recurso de tablespace para as tabelas/índice do
usuário?

Fiquem a vontade para comentários.

[]s





2009/3/4 Euler Taveira de Oliveira eu...@timbira.com:
 Gilnei M. Oliveira escreveu:
 primeira questão deve ser sempre confiabilidade do conjunto...
 O que tem a ver confiabilidade? Estamos falando da possibilidade de colocar um
 catálogo *não-crítico* em um outro local.

 de nada
 adianta reduzir os tempos de acesso em hardware se pode-se introduzir
 no mecanismo de controle uma possibilidade maior de falha...
 Falha? Não vejo como um catálogo que *não* requer um tratamento especial
 falharia; pg_largeobject é uma mera tabela, só que faz parte do catálogo.

 você estaria sozinho nesta parada... isto é muito gratificante para quem
 é um pioneiro desenvolvedor, mas é uma catástrofe para quem tem a tarefa
 de manter o banco no ar...
 Se eu propus uma solução é porque verifiquei que não teria maiores problemas.

  e aparentemente a mudança nunca foi incluída
 como prioridade simplesmente porque o beneficio obtido não supera os custos
 de desenvolvimento neste item...

 Ugh? Um simples teste ao alterar uma tablespace não é difícil. IMHO isso não
 foi feito ainda porque ninguém propos um patch.


 --
  Euler Taveira de Oliveira
  http://www.timbira.com/
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
JotaComm
http://jotacomm.wordpress.com
http://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] Como alterar a tablespaces do pg_largeobject?

2009-03-04 Por tôpico Gilnei M. Oliveira
Em 04/03/09, Euler Taveira de Oliveiraeu...@timbira.com escreveu:
 Gilnei M. Oliveira escreveu:
   você estaria sozinho nesta parada... isto é muito gratificante para quem
   é um pioneiro desenvolvedor, mas é uma catástrofe para quem tem a tarefa
   de manter o banco no ar...

 Se eu propus uma solução é porque verifiquei que não teria maiores problemas.


Sim, concordo integralmente com você, não vejo problemas maiores e
parece muito simples, mas também não vejo benefícios maiores em sair
da linha principal de desenvolvimento, neste item... é que eu já
apanhei muito de coisas simples
acabei como os gatos escaldados, com medo de água fria... hahaha

um abraço

gilnei

-- 
(pt_BR;ogil...@gmail.com)
E9BA2383; wwwkeys.pgp.net
___
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 alterar a tablespaces do pg_largeobject?

2009-03-04 Por tôpico Gilnei M. Oliveira
Exatamente o que eu penso...

um abraço

gilnei

Em 04/03/09, JotaCommjota.c...@gmail.com escreveu:
 Olá, pessoal

  Ontem eu fiquei pensando bastante sobre essa questão de mudar a
  pg_largeobject para um outro lugar usando o recurso de tablespace.
  Pensei, pensei e não cheguei a conclusão de qual seria a vantagem
  disso. E me fiz a seguinte pergunta: Qual a grande vantagem de fazer
  essa modificação?  Performance? Organização/distribuição das tabelas e
  índices para melhorar o layout? Se for relacionado a performance não
  acredito que isso não trará ganhos absurdos de performance. Se for
  para melhorar o layout irei misturar tabelas de sistema com tabelas de
  usuário e sinceramente não acredito que isso seja uma boa prática. Ai
  faço outra pergunta: Por que não deixar o catálogo onde está e
  trabalhar com o recurso de tablespace para as tabelas/índice do
  usuário?

  Fiquem a vontade para comentários.

  []s





  2009/3/4 Euler Taveira de Oliveira eu...@timbira.com:

  Gilnei M. Oliveira escreveu:
   primeira questão deve ser sempre confiabilidade do conjunto...
   O que tem a ver confiabilidade? Estamos falando da possibilidade de 
 colocar um
   catálogo *não-crítico* em um outro local.
  
   de nada
   adianta reduzir os tempos de acesso em hardware se pode-se introduzir
   no mecanismo de controle uma possibilidade maior de falha...
   Falha? Não vejo como um catálogo que *não* requer um tratamento especial
   falharia; pg_largeobject é uma mera tabela, só que faz parte do catálogo.
  
   você estaria sozinho nesta parada... isto é muito gratificante para quem
   é um pioneiro desenvolvedor, mas é uma catástrofe para quem tem a tarefa
   de manter o banco no ar...
   Se eu propus uma solução é porque verifiquei que não teria maiores 
 problemas.
  
e aparentemente a mudança nunca foi incluída
   como prioridade simplesmente porque o beneficio obtido não supera os 
 custos
   de desenvolvimento neste item...
  
   Ugh? Um simples teste ao alterar uma tablespace não é difícil. IMHO isso 
 não
   foi feito ainda porque ninguém propos um patch.
  
  
   --
Euler Taveira de Oliveira
http://www.timbira.com/
   ___
   pgbr-geral mailing list
   pgbr-geral@listas.postgresql.org.br
   https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
  




 --
  JotaComm
  http://jotacomm.wordpress.com
  http://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



-- 
(pt_BR;ogil...@gmail.com)
E9BA2383; wwwkeys.pgp.net
___
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 alterar a tablespaces do pg_largeobject?

2009-03-03 Por tôpico Euler Taveira de Oliveira
Nelson Gonzaga escreveu:
 Criei varias tablespaces e estou querendo separar tabelas, indices e lo
 em vários HD do servidor, porem não estou conseguindo mudar a tablespace
 do pg_largeobject com o comando abaixo:
  
 alter table pg_largeobject set tablespace tbs_lo;
  
Para que você quer fazer isso? pg_largeobject é um catálogo do sistema que
armazena a estrutura de um LO. Você não precisa separar o catálogo em outras
tablespaces (alguns deles nem podem ser movidos); nunca vi ninguém reclamar de
problemas de performance com relação ao catálogo mas talvez o pg_largeobject
seja um futuro candidato para retirarmos essa restrição.

 dá o seguinte:
 ERROR:  permission denied: pg_largeobject is a system catalog
  
 Tem algum jeito de driblar esta permissão?
  
Tem. [Rápida olhada no código...] Aparentemente não há problemas mas eu sugiro
fazer uma série de testes para não ser pego de surpresa. Inclusive isso já foi
sugerido [1] mas até agora ninguém fez.

$ postgres --single -O -D /data

PostgreSQL stand-alone backend 8.4devel
backend create tablespace tbs_lo location '/tmp/tbs_lo';
backend alter table pg_largeobject set tablespace tbs_lo;
backend ^D

psql (8.4devel)
Type help for help.

euler=# \dS pg_largeobject
Tabela pg_catalog.pg_largeobject
 Coluna |  Tipo   | Modificadores
+-+---
 loid   | oid | not null
 pageno | integer | not null
 data   | bytea   |
Índices:
pg_largeobject_loid_pn_index UNIQUE, btree (loid, pageno)
Tablespace: tbs_lo


[1] http://archives.postgresql.org/pgsql-hackers/2004-06/msg00841.php


-- 
  Euler Taveira de Oliveira
  http://www.timbira.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 alterar a tablespaces do pg_largeobject?

2009-03-03 Por tôpico Gilnei M. Oliveira
Olá

Esta é uma questão correlacionada a diversas discussões ocorridas na
pgsql-hackers(at)postgresql(dot)org... não me parece que a modificação
e violação de security policies em relação ao pg_largeobject compense
a imprevisibilidade que vai se introduzir no conjunto do dbms... pois a
primeira questão deve ser sempre confiabilidade do conjunto... de nada
adianta reduzir os tempos de acesso em hardware se pode-se introduzir
no mecanismo de controle uma possibilidade maior de falha... lembre
que você estaria sozinho nesta parada... isto é muito gratificante para quem
é um pioneiro desenvolvedor, mas é uma catástrofe para quem tem a tarefa
de manter o banco no ar... e aparentemente a mudança nunca foi incluída
como prioridade simplesmente porque o beneficio obtido não supera os custos
de desenvolvimento neste item...

um abraço e boa sorte

gilnei

PS:  e se mesmo assim fizer as alterações lembre de compartilhar
os experimentos... todo mundo vai gostar de saber... :-)

Em 03/03/09, Euler Taveira de Oliveiraeu...@timbira.com escreveu:
 Nelson Gonzaga escreveu:
   Criei varias tablespaces e estou querendo separar tabelas, indices e lo
   em vários HD do servidor, porem não estou conseguindo mudar a tablespace
   do pg_largeobject com o comando abaixo:
  
   alter table pg_largeobject set tablespace tbs_lo;
  
  Para que você quer fazer isso? pg_largeobject é um catálogo do sistema que
  armazena a estrutura de um LO. Você não precisa separar o catálogo em outras
  tablespaces (alguns deles nem podem ser movidos); nunca vi ninguém reclamar 
 de
  problemas de performance com relação ao catálogo mas talvez o pg_largeobject
  seja um futuro candidato para retirarmos essa restrição.

   dá o seguinte:
   ERROR:  permission denied: pg_largeobject is a system catalog
  
   Tem algum jeito de driblar esta permissão?
  
  Tem. [Rápida olhada no código...] Aparentemente não há problemas mas eu 
 sugiro
  fazer uma série de testes para não ser pego de surpresa. Inclusive isso já 
 foi
  sugerido [1] mas até agora ninguém fez.

  $ postgres --single -O -D /data

  PostgreSQL stand-alone backend 8.4devel
  backend create tablespace tbs_lo location '/tmp/tbs_lo';
  backend alter table pg_largeobject set tablespace tbs_lo;
  backend ^D

  psql (8.4devel)
  Type help for help.

  euler=# \dS pg_largeobject
  Tabela pg_catalog.pg_largeobject
   Coluna |  Tipo   | Modificadores
  +-+---
   loid   | oid | not null
   pageno | integer | not null
   data   | bytea   |
  Índices:
 pg_largeobject_loid_pn_index UNIQUE, btree (loid, pageno)
  Tablespace: tbs_lo


  [1] http://archives.postgresql.org/pgsql-hackers/2004-06/msg00841.php



  --
   Euler Taveira de Oliveira
   http://www.timbira.com/

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



-- 
(pt_BR;ogil...@gmail.com)
E9BA2383; wwwkeys.pgp.net
___
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 alterar a tablespaces do pg_largeobject?

2009-03-03 Por tôpico Euler Taveira de Oliveira
Gilnei M. Oliveira escreveu:
 primeira questão deve ser sempre confiabilidade do conjunto... 
O que tem a ver confiabilidade? Estamos falando da possibilidade de colocar um
catálogo *não-crítico* em um outro local.

 de nada
 adianta reduzir os tempos de acesso em hardware se pode-se introduzir
 no mecanismo de controle uma possibilidade maior de falha...
Falha? Não vejo como um catálogo que *não* requer um tratamento especial
falharia; pg_largeobject é uma mera tabela, só que faz parte do catálogo.

 você estaria sozinho nesta parada... isto é muito gratificante para quem
 é um pioneiro desenvolvedor, mas é uma catástrofe para quem tem a tarefa
 de manter o banco no ar...
Se eu propus uma solução é porque verifiquei que não teria maiores problemas.

  e aparentemente a mudança nunca foi incluída
 como prioridade simplesmente porque o beneficio obtido não supera os custos
 de desenvolvimento neste item...
 
Ugh? Um simples teste ao alterar uma tablespace não é difícil. IMHO isso não
foi feito ainda porque ninguém propos um patch.


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral