Re: [pgbr-geral] Limitar linhas do left join
Mas e se as pessoas estiverem ocupando 2 cargos na empresa? Não é comum, mas ocorre. O ideal seria ter: pessoa (codigo, nome, [...]) cargo (codigo, nome, [...]) contrato (codigo, cod_pessoa, cod_cargo, dt_inicio, dt_fim, salario, [...]) WHERE dt_fim IS NULL 2011/12/1 Marcelo Silva (IG) > Bem... tem que ver a logica aí... > Se alguém apareceu duas ou mais vezes é porque tem algum campo que dá essa > condição > Pode reparar que ha alguma diferença nso registros duplicados, algum > campo... e então terá que repensar a logica do select > > > > -Mensagem Original- > From: Thiago > Sent: Thursday, December 01, 2011 4:52 PM > To: pgbr-geral@listas.postgresql.org.br > Subject: Re: [pgbr-geral] Limitar linhas do left join > > > Assim não funciona? > > > > select ps.id_pes, ps.nome, cg.dsc, max(pg.id_car) as id_car > > from software.tbpessoa ps > > left join software.pessoa_cargo pc on(pc.id_pes = ps.id_pes) > > left join software.tb_cargo cg on(cg.id_car = pc.id_car) > > group by ps.id_pes, ps.nome, cg.dsc > > order by ps.nome > > > > > > Nao testei, mas iria por esse caminho ai > > Neste exemplo o jose apareceu duas vezes. > > Obrigado! > > ___ > 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 > -- Fernando Brombatti email-msn-gtalk: bromba...@gmail.com skype: fernandobrombatti work: +55 54 3218-6060 home: +55 54 3028-7217 mobile: +55 54 9189-7970 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Limitar linhas do left join
Bem... tem que ver a logica aí... Se alguém apareceu duas ou mais vezes é porque tem algum campo que dá essa condição Pode reparar que ha alguma diferença nso registros duplicados, algum campo... e então terá que repensar a logica do select -Mensagem Original- From: Thiago Sent: Thursday, December 01, 2011 4:52 PM To: pgbr-geral@listas.postgresql.org.br Subject: Re: [pgbr-geral] Limitar linhas do left join > Assim não funciona? > > select ps.id_pes, ps.nome, cg.dsc, max(pg.id_car) as id_car > from software.tbpessoa ps > left join software.pessoa_cargo pc on(pc.id_pes = ps.id_pes) > left join software.tb_cargo cg on(cg.id_car = pc.id_car) > group by ps.id_pes, ps.nome, cg.dsc > order by ps.nome > > > Nao testei, mas iria por esse caminho ai Neste exemplo o jose apareceu duas vezes. Obrigado! ___ 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] Obter Memoria usada pelo postgres
2011/12/1 Flavio Henrique Araque Gurgel : > Se sobrar dinheiro do item 2, preferir memória registered e com ECC. > Memória de baixa qualidade é pedir pra perder dados. No teu parágrafo acima, há uma contradição: a de ‘se sobrar dinheiro’ com ‘perder dados’. A menos que alguém tenha realmente pensado a respeito e decidido correr o risco, até hoje, para mim, memória registrada com correção de erros e discos SCSI ou superior (SAS, hoje em dia) são requisitos. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Obter Memoria usada pelo postgres
> Para saber como está o uso de recursos do SGBD, você deve olhar dentro do SGBD > e não fora. Existem inúmeros parâmetros e ferramentas para extrair estas > informações; alguns deles foram citados nesta discussão. Complementanto o Euler... Às vezes alguns clientes me perguntam isso. Comprei uma baita máquina só por PostgreSQL. 64 CPUs, 256GB de memória, quero usar tudo! Aí esquecem do fator fundamental para um banco de dados: disco. Como sempre falamos em palestras, cursos, etc, investimento em banco de dados, em ordem de gasto de dinheiro: 1) Disco 2) Memória 3) CPU Às vezes 2 inverte com o 3 quando existe uso intensivo de funções e linguagem procedural. Se sobrar dinheiro do item 2, preferir memória registered e com ECC. Memória de baixa qualidade é pedir pra perder dados. []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] Limitar linhas do left join
> Assim não funciona? > > select ps.id_pes, ps.nome, cg.dsc, max(pg.id_car) as id_car > from software.tbpessoa ps > left join software.pessoa_cargo pc on(pc.id_pes = ps.id_pes) > left join software.tb_cargo cg on(cg.id_car = pc.id_car) > group by ps.id_pes, ps.nome, cg.dsc > order by ps.nome > > > Nao testei, mas iria por esse caminho ai Neste exemplo o jose apareceu duas vezes. Obrigado! ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Limitar linhas do left join
> O que, afinal, identifica qual o cargo atual? Simplesmente o maior > id_car? Parece uma modelagem meio estranha… e se a pessoa, por > exemplo, voltar a um cargo que já teve antes, qual a chave natural de > software.tb_pessoa_cargo? Cara, você está certíssimo. Me desculpe por não ter explicado, mas o exemplo era apenas genérico, a intenção mesmo é como fazer a busca. O exemplo que eu tenho, na verdade está como timestamp. > O uso de identificadores artificiais e do prefixo tb_ no nome de > tabela parece indicar que pode haver problemas de modelagem, o que > tende a limitar as opções de consulta. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Limitar linhas do left join
Assim não funciona? select ps.id_pes, ps.nome, cg.dsc, max(pg.id_car) as id_car from software.tbpessoa ps left join software.pessoa_cargo pc on(pc.id_pes = ps.id_pes) left join software.tb_cargo cg on(cg.id_car = pc.id_car) group by ps.id_pes, ps.nome, cg.dsc order by ps.nome Nao testei, mas iria por esse caminho ai -Mensagem Original- From: Guimarães Faria Corcete DUTRA, Leandro Sent: Thursday, December 01, 2011 3:55 PM To: Comunidade PostgreSQL Brasileira Subject: Re: [pgbr-geral] Limitar linhas do left join 2011/12/1 Thiago : > > Dessa forma a busca me traria duas vezes o jose, pois o mesmo está duas > vezes cadastrados na tabela de cargos, e eu gostaria de trazer apenas o > cargo atual de cada funcionário. > > select ps.id_pes,ps.nome,cg.dsc > from software.tb_pessoa ps > left join( >select pg.id_pes,max(pg.id_car) as id_car >from software.tb_pessoa_cargo pg >group by pg.id_pes > ) as pc on ps.id_pes = pc.id_pes > left join software.tb_cargo cg on pc.id_car = cg.id_car > order by ps.nome > > Existe alguma forma mais prática de fazer isso, simplesmente limitando o > resultado do left join? Essa seria a melhor maneira de fazer tal consulta? O que, afinal, identifica qual o cargo atual? Simplesmente o maior id_car? Parece uma modelagem meio estranha… e se a pessoa, por exemplo, voltar a um cargo que já teve antes, qual a chave natural de software.tb_pessoa_cargo? O uso de identificadores artificiais e do prefixo tb_ no nome de tabela parece indicar que pode haver problemas de modelagem, o que tende a limitar as opções de consulta. ___ 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] Limitar linhas do left join
2011/12/1 Thiago : > > Dessa forma a busca me traria duas vezes o jose, pois o mesmo está duas > vezes cadastrados na tabela de cargos, e eu gostaria de trazer apenas o > cargo atual de cada funcionário. > > select ps.id_pes,ps.nome,cg.dsc > from software.tb_pessoa ps > left join( > select pg.id_pes,max(pg.id_car) as id_car > from software.tb_pessoa_cargo pg > group by pg.id_pes > ) as pc on ps.id_pes = pc.id_pes > left join software.tb_cargo cg on pc.id_car = cg.id_car > order by ps.nome > > Existe alguma forma mais prática de fazer isso, simplesmente limitando o > resultado do left join? Essa seria a melhor maneira de fazer tal consulta? O que, afinal, identifica qual o cargo atual? Simplesmente o maior id_car? Parece uma modelagem meio estranha… e se a pessoa, por exemplo, voltar a um cargo que já teve antes, qual a chave natural de software.tb_pessoa_cargo? O uso de identificadores artificiais e do prefixo tb_ no nome de tabela parece indicar que pode haver problemas de modelagem, o que tende a limitar as opções de consulta. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Obter Memoria usada pelo postgres
On 01-12-2011 11:41, Marcone wrote: > Aí agora vem a questão: o que é o uso de memória do PostgreSQL? > Memória total ou sem levar em conta a memória compartilhada? > Do ponto de vista do sistema operacional, é tudo; do ponto de vista das aplicações clientes, somente a memória utilizada nas consultas. Saber a quantidade de memória utilizada em alguns cenários é irrelevante para determinar a eficiência de uso dos recursos pelo SGBD. Isso porque se alguém ajusta (erroneamente) 90% da memória da máquina para a cache do PostgreSQL (aka shared buffers), será que estamos perto de um upgrade de memória? Segundo o sistema operacional, sim; pois em certos momentos pode faltar memória para outras tarefas (até mesmo tarefas do PostgreSQL). Para saber como está o uso de recursos do SGBD, você deve olhar dentro do SGBD e não fora. Existem inúmeros parâmetros e ferramentas para extrair estas informações; alguns deles foram citados nesta discussão. -- Euler Taveira de Oliveira - Timbira http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Limitar linhas do left join
Pessoal, boa tarde. Tenho as seguintes tabelas: tb_pessoa id_pes nome 1 jose 2 bento tb_cargo id_car dsc 1 servente 2 pedreiro tb_pessoa_cargo id_pes_car id_car id_pes 1 1 1 2 2 1 3 1 2 Para eu fazer uma busca de todos os funcionários e seus cargos, utilizando um simples left join, eu faria da seguinte forma: select ps.id_pes,ps.nome,cg.dsc from tb_pessoa ps left join tb_pessoa_cargo pc on ps.id_pes = pc.id_pes left join tb_cargo cg on pc.id_car = cg.id_car order by ps.nome Dessa forma a busca me traria duas vezes o jose, pois o mesmo está duas vezes cadastrados na tabela de cargos, e eu gostaria de trazer apenas o cargo atual de cada funcionário. Para solucionar isso, faço join de subconsultas, da seguinte forma: select ps.id_pes,ps.nome,cg.dsc from software.tb_pessoa ps left join( select pg.id_pes,max(pg.id_car) as id_car from software.tb_pessoa_cargo pg group by pg.id_pes ) as pc on ps.id_pes = pc.id_pes left join software.tb_cargo cg on pc.id_car = cg.id_car order by ps.nome Pergunta: Existe alguma forma mais prática de fazer isso, simplesmente limitando o resultado do left join? Essa seria a melhor maneira de fazer tal consulta? Obrigado e desculpe se a pergunta for um pouco tola. Abraços! ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Obter Memoria usada pelo postgres
Há um tempo fiz uma pesquisa sobre isso e depois de muitos ps, top, free, pmap, etc; a conclusão que eu cheguei é que essa questão do uso de memória é bem complexa e, portanto, bem complicado de se chegar em um número e dizer que este número representa o uso de memória de um processo (no caso o PostgreSQL). O que é possível é termos um número que possa ser obtido como relevante para tal questão. O que eu encontrei que mais se aproxima da realidade é a seguinte sequencia de comandos: Primeiramente com o comando ps: ps aux | grep --color 'postgres' USER PID %CPU %MEMVSZ RSS TTY STAT START TIME COMMAND ... recorte.. postgres 11081 0.0 0.3 112156 6784 ?Ss Nov30 0:00 postgres: postgres postgres 192.168.197.140(42574) idle postgres 14284 0.0 1.6 110664 35408 ?Ss Oct21 0:01 postgres: writer process postgres 14285 0.0 0.0 110164 1164 ?Ss Oct21 0:00 postgres: wal writer process postgres 14286 0.0 0.4 112516 10464 ?Ss Oct21 0:28 postgres: autovacuum launcher process postgres 14287 0.0 0.1 74668 2228 ?Ss Oct21 18:27 postgres: stats collector process root 18116 0.0 0.1 90136 3308 ?Ss 09:43 0:00 sshd: postgres [priv] postgres 18122 0.0 0.0 90136 1748 ?S09:43 0:00 sshd: postgres@pts/0 postgres 18123 0.0 0.0 66184 1656 pts/0Ss 09:43 0:00 -bash postgres 20708 0.0 0.2 111468 5172 ?Ss Oct27 0:00 postgres: usr_geonetwork db_geonetwork 192.168.193.32(58538) idle postgres 20709 0.0 0.2 111444 5588 ?Ss Oct27 0:00 postgres: usr_geonetwork db_geonetwork 192.168.193.32(58539) idle postgres 20710 0.0 0.2 111468 5144 ?Ss Oct27 0:00 postgres: usr_geonetwork db_geonetwork 192.168.193.32(58540) idle postgres 20711 0.0 0.1 111376 3516 ?Ss Oct27 0:00 postgres: usr_geonetwork db_geonetwork 192.168.193.32(58541) idle ... recorte.. Por este comando temos o percentual de memória, o VSZ e o RSS, que, não vou entrar em detalhes, representam o uso de memória do processo. Acontece que esses valores não representam bem a realidade, pois existe uma intersecção do uso de memória entre os processos que, até onde entendi, o ps não trata. Usando o pmap: pmap -d 20708 20709 20708: postgres: usr_geonetwork db_geonetwork 192.168.193.32(58538) idle Address Kbytes Mode Offset DeviceMapping ... recorte.. 003056201336 r-x-- 0fd:0 libc-2.5.so 00305634e0002048 - 0014e000 0fd:0 libc-2.5.so 00305654e000 16 r 0014e000 0fd:0 libc-2.5.so 003056552000 4 rw--- 00152000 0fd:0 libc-2.5.so 003056553000 20 rw--- 003056553000 000:0 [ anon ] 00305660 8 r-x-- 0fd:0 libdl-2.5.so 0030566020002048 - 2000 0fd:0 libdl-2.5.so 003056802000 4 r 2000 0fd:0 libdl-2.5.so 003056803000 4 rw--- 3000 0fd:0 libdl-2.5.so 003056e0 520 r-x-- 0fd:0 libm-2.5.so 003056e820002044 - 00082000 0fd:0 libm-2.5.so 003057081000 4 r 00081000 0fd:0 libm-2.5.so 003057082000 4 rw--- 00082000 0fd:0 libm-2.5.so ... recorte.. mapped: 119656Kwriteable/private: 2484Kshared: 37088K 20709: postgres: usr_geonetwork db_geonetwork 192.168.193.32(58539) idle Address Kbytes Mode Offset DeviceMapping ... recorte.. 003056201336 r-x-- 0fd:0 libc-2.5.so 00305634e0002048 - 0014e000 0fd:0 libc-2.5.so 00305654e000 16 r 0014e000 0fd:0 libc-2.5.so 003056552000 4 rw--- 00152000 0fd:0 libc-2.5.so 003056553000 20 rw--- 003056553000 000:0 [ anon ] 00305660 8 r-x-- 0fd:0 libdl-2.5.so 0030566020002048 - 2000 0fd:0 libdl-2.5.so 003056802000 4 r 2000 0fd:0 libdl-2.5.so 003056803000 4 rw--- 3000 0fd:0 libdl-2.5.so 003056e0 520 r-x-- 0fd:0 libm-2.5.so 003056e820002044 - 00082000 0fd:0 libm-2.5.so 003057081000 4 r 00081000 0fd:0 libm-2.5.so 003057082000 4 rw--- 00082000 0fd:0 libm-2.5.so ... recorte.. mapped: 119632Kwriteable/private: 2460Kshared: 37088K O que temos neste comando é que ele mostra o mapa do uso de memória, observe que até mesmo a memória usada pelas bibliotecas é informada. A boa notícia é que no final em é mostrado a quantidade de memória do segmento de dados do processo, ou seja, uso de memória "líquido", que é usado pelo processo, sem levar em consideração as bibliotec
Re: [pgbr-geral] Obter Memoria usada pelo postgres
Bom... Eu não sou DBA, muito menos um administrador de Servidores, mas estas dúvidas são realmente para verificar se o banco está aproveitando o Hardware do servidor (sei que a maioria dos problemas de lentidão estão em estruturas do banco e queries mal escritas, mas o que eu quero é, pelo menos, fazer com que o banco utilize o máximo de recursos do servidor, já que é uma máquina dedicada para ele). No meu servidor tenho o seguinte neste momento: 29 usuários simultáneos (a média de usuários simultáneos é sempre nesta faixa de 25 a 45, tendo alguns picos de vez em quando) Olhando pelo comando "free -m", eu obtenho o seguinte resultado: total used free sharedbuffers cached Mem: 16239 15693545 0 41 15394 -/+ buffers/cache:257 15981 De acordo com seu cálculo o meu PostgreSQL está utilizando apenas 299 megas de memória? As configurações do PostgreSQL estão assim: max_connections = 120 (meu desejo é aumentar, mas antes estamos otimizando algumas queries mais lentas) shared_buffers = 3 work_mem = 25 maintenance_work_mem = 25 # min 1024, size in KB Meu servidor é um Intel(R) Xeon(R) CPU - E5410 @ 2.33GHz com 8 núcleos e com 16Gb de memória e um Storage para armazenamento do Banco de Dados. O Intuito é saber mais sobre estas configurações para que eu possa argumentar com o DBA que faz a manutenção deste banco de dados. Qualquer dúvida, favor entrar em contato. Atenciosamente, Angelo M. Rodrigues LightComm Tecnologia Cml: (11) 3304-7717 Celular Vivo: (11) 9888-1029 Celular Nextel: (11) 7821-8298 Nextel: 54 * 13944 www.lightcomm.com.br ang...@lightcomm.com.br MSN: angelomrodrig...@hotmail.com GTalk: angelomrodrig...@gmail.com Em 01/12/2011, às 11:59, Flavio Henrique Araque Gurgel escreveu: >> Este é um tópico interessante. >> Como faço para saber a quantidade de memória que o PostgreSQL realmente está >> utilizando em um servidor totalmente dedicado a ele? >> Tenho um servidor com 16Gb de RAM (Debian 5 com PostgreSQL 8.0 compilado) e >> gostaria de saber se o PostgreSQL realmente está aproveitando todo o poder >> desta máquina. >> É possível saber isso? > > O jeito mais fácil que utilizo em servidores de produção é utilizar > uma ferramenta como o Zabbix, Nagios ou Munin. Meça a memória livre > menos o cache do S.O. se o servidor for dedicado ao PostgreSQL. > > O uso de memória vai variar com a carga sobre o banco de dados. > > []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 mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Obter Memoria usada pelo postgres
> Este é um tópico interessante. > Como faço para saber a quantidade de memória que o PostgreSQL realmente está > utilizando em um servidor totalmente dedicado a ele? > Tenho um servidor com 16Gb de RAM (Debian 5 com PostgreSQL 8.0 compilado) e > gostaria de saber se o PostgreSQL realmente está aproveitando todo o poder > desta máquina. > É possível saber isso? O jeito mais fácil que utilizo em servidores de produção é utilizar uma ferramenta como o Zabbix, Nagios ou Munin. Meça a memória livre menos o cache do S.O. se o servidor for dedicado ao PostgreSQL. O uso de memória vai variar com a carga sobre o banco de dados. []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] Obter Memoria usada pelo postgres
Faço das palavras do Ângelo as minhas, o tópico é bem interessante mesmo, e interessantes saber a opnião com dados de quem tem mais experiência aqui na lista. Atenciosamente, Emerson Martins DBA Jr Itec/AL 82 9123-5504 82 9668-1283 Em 1 de dezembro de 2011 10:18, Angelo - TI escreveu: > Este é um tópico interessante. > > Como faço para saber a quantidade de memória que o PostgreSQL realmente > está utilizando em um servidor totalmente dedicado a ele? > > Tenho um servidor com 16Gb de RAM (Debian 5 com PostgreSQL 8.0 compilado) > e gostaria de saber se o PostgreSQL realmente está aproveitando todo o > poder desta máquina. > > É possível saber isso? > > Qualquer dúvida, favor entrar em contato. > > Atenciosamente, > > Angelo M. Rodrigues > LightComm Tecnologia > Cml: (11) 3304-7717 > Celular Vivo: (11) 9888-1029 > Celular Nextel: (11) 7821-8298 > Nextel: 54 * 13944 > www.lightcomm.com.br > ang...@lightcomm.com.br > > MSN: angelomrodrig...@hotmail.com > GTalk: angelomrodrig...@gmail.com > > Em 01/12/2011, às 08:11, Flavio Henrique Araque Gurgel escreveu: > > Uso linux debian 6 com PostgreSQL 9.0. > > > Boa combinação :) > > Preciso saber a quantidade de memoria utilizada pelo postgres em um > > determinado BD. Isto é possivel? > > > Um "BD" não usa memória. > > E a memoria total usada pelo Postgres? > > > A memória total usada pelo PostgreSQL é uma combinação: > > a memória compartilhada (parâmetro shared_buffers do postgresql.conf) > que vale para todo o PostgreSQL, independente da quantidade de bancos > de dados no seu cluster, este valor é fixo > + > a memória utilizada por cada consulta, que varia de acordo com o uso > do seu banco de dados, parâmetro work_mem e número de conexões e > sub-selects > + > a memória utilizada pelos processos de manutenção (vacuum, reindex, > cluster) que depende do parâmetro maintenance_work_mem e número de > processos fazendo algum trabalho > > Se você quiser saber a parcela de ocupação do shared_buffers por banco > de dados, procure pelo módulo contrib pg_buffercache. > > []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 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] Obter Memoria usada pelo postgres
Este é um tópico interessante. Como faço para saber a quantidade de memória que o PostgreSQL realmente está utilizando em um servidor totalmente dedicado a ele? Tenho um servidor com 16Gb de RAM (Debian 5 com PostgreSQL 8.0 compilado) e gostaria de saber se o PostgreSQL realmente está aproveitando todo o poder desta máquina. É possível saber isso? Qualquer dúvida, favor entrar em contato. Atenciosamente, Angelo M. Rodrigues LightComm Tecnologia Cml: (11) 3304-7717 Celular Vivo: (11) 9888-1029 Celular Nextel: (11) 7821-8298 Nextel: 54 * 13944 www.lightcomm.com.br ang...@lightcomm.com.br MSN: angelomrodrig...@hotmail.com GTalk: angelomrodrig...@gmail.com Em 01/12/2011, às 08:11, Flavio Henrique Araque Gurgel escreveu: >> Uso linux debian 6 com PostgreSQL 9.0. > > Boa combinação :) > >> Preciso saber a quantidade de memoria utilizada pelo postgres em um >> determinado BD. Isto é possivel? > > Um "BD" não usa memória. > >> E a memoria total usada pelo Postgres? > > A memória total usada pelo PostgreSQL é uma combinação: > > a memória compartilhada (parâmetro shared_buffers do postgresql.conf) > que vale para todo o PostgreSQL, independente da quantidade de bancos > de dados no seu cluster, este valor é fixo > + > a memória utilizada por cada consulta, que varia de acordo com o uso > do seu banco de dados, parâmetro work_mem e número de conexões e > sub-selects > + > a memória utilizada pelos processos de manutenção (vacuum, reindex, > cluster) que depende do parâmetro maintenance_work_mem e número de > processos fazendo algum trabalho > > Se você quiser saber a parcela de ocupação do shared_buffers por banco > de dados, procure pelo módulo contrib pg_buffercache. > > []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 mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Obter Memoria usada pelo postgres
Danilo e Flavio obrigado :) Acho que fiz a pergunta da forma equivocada: nao sabia como isto funcionava :( Preciso mesmo é conseguir a memoria do cluster todo, sem os processos de manuteção. []'s -- Moisés P. Sena (Analista e desenvolvedor de sistemas WEB e mobile) http://www.moisespsena.com http://linux.moisespsena.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] Open-Source database marketshare : november 2011
On Wed, Nov 30, 2011 at 3:19 PM, Osvaldo Kussama wrote: > > > http://blog.jelastic.com/2011/11/21/open-source-database-marketshare-november-2011/ > > Osvaldo Boas Pessoal! Interessante a visão. Pelo que vi, são estatísticas dos projetos rodando no ambiente da Jelastic. Vocês têm conhecimento de alguma pesquisa mais ampla? Será que teríamos uma distribuição próxima ao cenário da Jelastic? Gde. Abraço! -- Ed ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Obter Memoria usada pelo postgres
> Uso linux debian 6 com PostgreSQL 9.0. Boa combinação :) > Preciso saber a quantidade de memoria utilizada pelo postgres em um > determinado BD. Isto é possivel? Um "BD" não usa memória. > E a memoria total usada pelo Postgres? A memória total usada pelo PostgreSQL é uma combinação: a memória compartilhada (parâmetro shared_buffers do postgresql.conf) que vale para todo o PostgreSQL, independente da quantidade de bancos de dados no seu cluster, este valor é fixo + a memória utilizada por cada consulta, que varia de acordo com o uso do seu banco de dados, parâmetro work_mem e número de conexões e sub-selects + a memória utilizada pelos processos de manutenção (vacuum, reindex, cluster) que depende do parâmetro maintenance_work_mem e número de processos fazendo algum trabalho Se você quiser saber a parcela de ocupação do shared_buffers por banco de dados, procure pelo módulo contrib pg_buffercache. []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] Obter Memoria usada pelo postgres
Opa Em 30 de novembro de 2011 23:36, Moisés P. Sena escreveu: > Boa noite pessoal! > > Uso linux debian 6 com PostgreSQL 9.0. > > Preciso saber a quantidade de memoria utilizada pelo postgres em um > determinado BD. Isto é possivel? > E a memoria total usada pelo Postgres? > Quando vc diz em um determinado BD, vc está se referindo ao cluster? Acho que o parâmetro shared_buffers pode ser a sua resposta. Abs > > Abraços, > > -- > Moisés P. Sena > (Analista e desenvolvedor de sistemas WEB e mobile) > http://www.moisespsena.com > http://linux.moisespsena.com > > ___ > 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