Re: [pgbr-geral] Interligar dois bancos PostgreSQL
5 milhões de registro por dia. Cada registro insere aproximadamente 20k em 4 tabelas. Em 5 de julho de 2010 13:25, Sebastian SWC sebastian...@gmail.comescreveu: 2010/6/30 Jesus Rodrigues jesusrodrigu...@gmail.com: corte O problema de utilizar 2 schemas e volume de tarefas (consultas, agregações, inserções, etc) que o banco está fazendo. Nosso banco trabalha com um volume monstro de dados. Por isso, estou analisando a viabilidade de utilizar dois bancos. Defina monstro. -- Atenciosamente, Sebastian Selau Webber Colombo ___ 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] Interligar dois bancos PostgreSQL
Pessoal, Tenho a necessidade de interligar dois bancos PostgreSQL para realização de um projeto. Haverá a necessidade de trafegar muita informação entre esses bancos. Existe algo no mercado que se destaca para essa necessidade? Vocês poderiam me indicar materiais para consulta? Desde já agradeç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] Interligar dois bancos PostgreSQL
Osvaldo e demais, Avalie a alternativa de utilizar 2 schemas [1] em um único banco de dados. O problema de utilizar 2 schemas e volume de tarefas (consultas, agregações, inserções, etc) que o banco está fazendo. Nosso banco trabalha com um volume monstro de dados. Por isso, estou analisando a viabilidade de utilizar dois bancos. Existe o dblink [2] mas a performance pode não atender a suas necessidades. O problema de performance deve-se ao trafego? A questão é: gerenciar grandes volumes de dados distribuidos no PostgreSQL. Obrigado, Em 30 de junho de 2010 15:40, Osvaldo Kussama osvaldo.kuss...@gmail.comescreveu: Em 30 de junho de 2010 15:30, Jesus Rodrigues jesusrodrigu...@gmail.com escreveu: Pessoal, Tenho a necessidade de interligar dois bancos PostgreSQL para realização de um projeto. Haverá a necessidade de trafegar muita informação entre esses bancos. Avalie a alternativa de utilizar 2 schemas [1] em um único banco de dados. Existe algo no mercado que se destaca para essa necessidade? Vocês poderiam me indicar materiais para consulta? Existe o dblink [2] mas a performance pode não atender a suas necessidades. Osvaldo [1] http://www.postgresql.org/docs/current/interactive/ddl-schemas.html [2] http://www.postgresql.org/docs/current/interactive/dblink.html ___ 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] ERROR: could not fsync segment 2
Pessoal, Utilizando linux e o postgresql obtive o seguinte erro: ERROR: could not fsync segment 2 of relation 1414/141/4256: Erro de entrada/saída Na log observei: could not write block 449791 of relation 1414/141/4256: Sistema de arquivos somente para leitura Lê que esse erro costuma ocorrer quando, por exemplo, algum anti-virus bloqueia o arquivo. Mas esse não é o caso. Já estou utilizando o banco a bom tempo e não tinha observado esse problema anteriormente. Alguma sugestão? 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] ERROR: could not fsync segment 2
Obrigado Euler, Parece que nosso BD foi finalizado inesperadamente. att., Em 29 de junho de 2010 10:43, Euler Taveira de Oliveira eu...@timbira.comescreveu: Jesus Rodrigues escreveu: Utilizando linux e o postgresql obtive o seguinte erro: ERROR: could not fsync segment 2 of relation 1414/141/4256: Erro de entrada/saída Na log observei: could not write block 449791 of relation 1414/141/4256: Sistema de arquivos somente para leitura Você não ofereceu informações suficientes para tentarmos te ajudar; como por exemplo, versão do kernel, sistema de arquivos, versão do PostgreSQL. Algumas das possibilidades são: (i) alguém mudou as permissões do $PGDATA (ii) erro administrativo em sistema de arquivos via rede (aka NFS) e (iii) bug no sistema de arquivos via rede. -- 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 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Número de conexões
Esse select é exato? Achei estranho: tenho apenas um cliente conectado no banco e ele retornou 8 conexões. Está correto? Obrigado Em 21 de junho de 2010 17:08, Diogo Biazus dio...@gmail.com escreveu: SELECT count(*) FROM pg_stat_activity WHERE datname = 'postgres' 2010/6/21 Jesus Rodrigues jesusrodrigu...@gmail.com Pessoal, Como faço para saber, via sql, o número de conexões atuais no bd postgresql? Obrigado. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Diogo Biazus - dio...@gmail.com Softa http://www.softa.com.br http://www.postgresql.org.br ___ 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] Número de conexões
Caro Fabrízio, Logicamente, alterei para o nome da minha base de dados. Refazendo a pergunta utilizando SELECT count(*) FROM pg_stat_activity WHERE datname = '*minha_base_de_dados*' obtive mais de uma conexão. Entretanto, havia apenas um cliente sql manager conectado no banco. Nesse caso era para ter retornado apenas 1 ou estou enganado? Obrigado. Em 22 de junho de 2010 09:08, Fabrízio de Royes Mello fabriziome...@gmail.com escreveu: Em 22 de junho de 2010 08:19, Jesus Rodrigues jesusrodrigu...@gmail.comescreveu: Esse select é exato? Achei estranho: tenho apenas um cliente conectado no banco e ele retornou 8 conexões. Está correto? Veja a sua pergunta: Como faço para saber, via sql, o número de conexões atuais no bd * postgresql*? É natural que a resposta seja a mencionada pelo Diogo, mas para vc saber as conexões de uma determinada base de dados basta trocar o nome da base no where do SQL: SELECT count(*) FROM pg_stat_activity WHERE datname = '* minha_base_de_dados*' -- Fabrízio de Royes Mello Blog sobre TI: http://fabriziomello.blogspot.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
Re: [pgbr-geral] Número de conexões
na verdade quero o numero de conexões de cada usuário. Obrigado pela ajuda Em 22 de junho de 2010 15:17, MarceloG nrhce...@teleon.com.br escreveu: Mas o cara quer os usuários e não as conexões uai. MarceloG! Em 22/06/2010 14:50, Alexsander Rosa escreveu: Acho melhor usar client_addr para contar os usuários, porque se um mesmo usuário (no mesmo IP) abrir 4 conexões serão 4 procpids diferentes com o mesmo client_addr. MarceloG escreveu: Olá amiguinho, Se você usa diversos usuários para conexão, veja isso: SELECT DISTINCT(usename) FROM pg_stat_activity WHERE datname = '* minha_base_de_dados*' Se você usa usuário único para diversas conexões, veja isso: SELECT COUNT(procpid) FROM pg_stat_activity WHERE datname = '* minha_base_de_dados*' MarceloG! Em 22/06/2010 11:57, Fabrízio de Royes Mello escreveu: Em 22 de junho de 2010 10:30, Jesus Rodrigues jesusrodrigu...@gmail.comescreveu: Logicamente, alterei para o nome da minha base de dados. Perfeito... Refazendo a pergunta utilizando SELECT count(*) FROM pg_stat_activity WHERE datname = '*minha_base_de_dados*' obtive mais de uma conexão. Entretanto, havia apenas um cliente sql manager conectado no banco. Nesse caso era para ter retornado apenas 1 ou estou enganado? Será que esse seu cliente sql manager não abre mais de uma conexão com a base de dados??? Minha sugestão seria: 1) Fechar o teu SQL Manager e qualquer aplicacao que realize conexao com esse seu backend 2) Utilizar o psql para conectar com o backend e rodar a query em questao Se mesmo assim existir mais de uma conexão com a tua base de dados então provavelmente elas estão perdidas... Cordialmente, -- Fabrízio de Royes Mello Blog sobre TI: http://fabriziomello.blogspot.com -- Alexsander da Rosa Twitter: @alexrosa ___ pgbr-geral mailing list pgbr-ge...@listas.postgresql.org.brhttps://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
[pgbr-geral] Número de conexões
Pessoal, Como faço para saber, via sql, o número de conexões atuais no bd postgresql? Obrigado. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Inserção de grandes volumes
Pessoal, Preciso realizar carga de grandes volumes em banco postgre. Segue um exemplo do problema. Tenho duas tabela A e B, em que A contém múltiplas ocorrências de B (1 para N). Gostaria de carregar essas tabelas via loader, semelhante ao comando existente no oracle. Meu modelo é mais complexo, mas esse foi apenas um pequeno exemplo. Pergunta-se: 1º Existe um processo de carga semelhante (carga via loader) no postgre? 2º É possível carregar as duas tabelas (A e B) utilizando um único arquivo? Por exemplo, se esse arquivo tiver os dados estruturados em forma de um xml ou de forma hierárquica. Ou é necessário possuir dois arquivos, uma para os dados da tabela A e outro para os dados da tabela B? 3º Para carga de grandes volumes, um processo via loader é mais eficiente que um processo de inserção “normal” (abre transação, insere tudo, commit, fecha fecha transação)? 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] Inserção de grandes volumes
JotaComm, Ok posso usar o pgloader. Entretanto, não consigo imaginar como carregar dados para duas tabela A e B utilizando um unico arquivo. Imagine, a chave de A é colocada em B, ok. Ex: A1 A2 B1,A1 B2,A1 B3,A1 B1,A2 Como o banco saberia que A1 tem os filhos ( B1, B2, B3)? Usar o loader é tranquilo, mas não vejo uma forma de orgazinar a estrutura das tabelas em um unico arquivo, principalmente ser for um modelo mais complexo. Abs Em 17 de março de 2010 08:51, JotaComm jota.c...@gmail.com escreveu: Olá, Em 17 de março de 2010 08:32, Jesus Rodrigues jesusrodrigu...@gmail.comescreveu: Pessoal, Preciso realizar carga de grandes volumes em banco postgre. Segue um exemplo do problema. Uma correção, o nome do banco não é Postgre e sim Postgres ou PostgreSQL. Tenho duas tabela A e B, em que A contém múltiplas ocorrências de B (1 para N). Gostaria de carregar essas tabelas via loader, semelhante ao comando existente no oracle. Meu modelo é mais complexo, mas esse foi apenas um pequeno exemplo. Pergunta-se: 1º Existe um processo de carga semelhante (carga via loader) no postgre? Você quer carregar os dados de duas tabelas para um banco é isso? De uma olhada no pgloader [1] [1] http://pgloader.projects.postgresql.org/ 2º É possível carregar as duas tabelas (A e B) utilizando um único arquivo? Por exemplo, se esse arquivo tiver os dados estruturados em forma de um xml ou de forma hierárquica. Ou é necessário possuir dois arquivos, uma para os dados da tabela A e outro para os dados da tabela B? Pode ser um arquivo para carregar as duas tabelas. 3º Para carga de grandes volumes, um processo via loader é mais eficiente que um processo de inserção “normal” (abre transação, insere tudo, commit, fecha fecha transação)? Obrigado, ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral []s -- JotaComm http://jotacomm.wordpress.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
Re: [pgbr-geral] Inserção de grandes volumes
Conforme disse entendi a ideia de usar o loader, Contudo vc usa dois arquivos arquivo_tabela1.txt e arquivo_tabela2.txt. Minha pergunta era: Séria possível utilizar um único arquivo? Obrigado Em 17 de março de 2010 09:34, JotaComm jota.c...@gmail.com escreveu: Olá, Em 17 de março de 2010 09:21, Jesus Rodrigues jesusrodrigu...@gmail.comescreveu: JotaComm, Ok posso usar o pgloader. Entretanto, não consigo imaginar como carregar dados para duas tabela A e B utilizando um unico arquivo. Imagine, a chave de A é colocada em B, ok. Ex: A1 A2 B1,A1 B2,A1 B3,A1 B1,A2 Como o banco saberia que A1 tem os filhos ( B1, B2, B3)? Usar o loader é tranquilo, mas não vejo uma forma de orgazinar a estrutura das tabelas em um unico arquivo, principalmente ser for um modelo mais complexo. Segundo o que você falou sua dúvida era como carregar dados para duas tabelas, vamos ao exemplo bem simples. CREATE TABLE tab1(codigo INTEGER PRIMARY KEY); CREATE TABLE tab2(codigo INTEGER PRIMARY KEY,codigo_tab01 INTEGER REFERENCES tab1); Arquivo a ser carregado: COPY tab1 FROM '/tmp/arquivo_tabela1.txt' WITH DELIMITER ';' NULL AS ''; COPY tab2 FROM '/tmp/arquivo_tabela2.txt' WITH DELIMITER ';' NULL AS ''; Abs Em 17 de março de 2010 08:51, JotaComm jota.c...@gmail.com escreveu: Olá, Em 17 de março de 2010 08:32, Jesus Rodrigues jesusrodrigu...@gmail.com escreveu: Pessoal, Preciso realizar carga de grandes volumes em banco postgre. Segue um exemplo do problema. Uma correção, o nome do banco não é Postgre e sim Postgres ou PostgreSQL. Tenho duas tabela A e B, em que A contém múltiplas ocorrências de B (1 para N). Gostaria de carregar essas tabelas via loader, semelhante ao comando existente no oracle. Meu modelo é mais complexo, mas esse foi apenas um pequeno exemplo. Pergunta-se: 1º Existe um processo de carga semelhante (carga via loader) no postgre? Você quer carregar os dados de duas tabelas para um banco é isso? De uma olhada no pgloader [1] [1] http://pgloader.projects.postgresql.org/ 2º É possível carregar as duas tabelas (A e B) utilizando um único arquivo? Por exemplo, se esse arquivo tiver os dados estruturados em forma de um xml ou de forma hierárquica. Ou é necessário possuir dois arquivos, uma para os dados da tabela A e outro para os dados da tabela B? Pode ser um arquivo para carregar as duas tabelas. 3º Para carga de grandes volumes, um processo via loader é mais eficiente que um processo de inserção “normal” (abre transação, insere tudo, commit, fecha fecha transação)? Obrigado, ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral []s -- JotaComm http://jotacomm.wordpress.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 []s -- JotaComm http://jotacomm.wordpress.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
Re: [pgbr-geral] Inserção de grandes volumes
Isso mesmo, Tenho a restrição de utilizar um único arquivo. Obrigado pela ajuda! Se alguém da lista tiver mais alguma ideia: Como carregar múltiplas tabelas utilizando um único arquivo para o pgloader? []s Em 17 de março de 2010 09:52, JotaComm jota.c...@gmail.com escreveu: Olá, Em 17 de março de 2010 09:46, Jesus Rodrigues jesusrodrigu...@gmail.comescreveu: Conforme disse entendi a ideia de usar o loader, Contudo vc usa dois arquivos arquivo_tabela1.txt e arquivo_tabela2.txt. Minha pergunta era: Séria possível utilizar um único arquivo? Acho que agora entendi o que você quis dizer :) Na verdade eu teria um arquivo que chamaria os arquivos contendo os dados das tabelas, neste caso poderiam ser vários arquivos, um para cada tabela. E a sua dúvida é, ter todos os dados em um único arquivo e carregar este arquivo, até onde eu sei isso não seria possível, pois não vejo como interpretar quando termina os dados de uma tabela e quando começam os dados do próxima tabela. Obrigado Em 17 de março de 2010 09:34, JotaComm jota.c...@gmail.com escreveu: Olá, Em 17 de março de 2010 09:21, Jesus Rodrigues jesusrodrigu...@gmail.com escreveu: JotaComm, Ok posso usar o pgloader. Entretanto, não consigo imaginar como carregar dados para duas tabela A e B utilizando um unico arquivo. Imagine, a chave de A é colocada em B, ok. Ex: A1 A2 B1,A1 B2,A1 B3,A1 B1,A2 Como o banco saberia que A1 tem os filhos ( B1, B2, B3)? Usar o loader é tranquilo, mas não vejo uma forma de orgazinar a estrutura das tabelas em um unico arquivo, principalmente ser for um modelo mais complexo. Segundo o que você falou sua dúvida era como carregar dados para duas tabelas, vamos ao exemplo bem simples. CREATE TABLE tab1(codigo INTEGER PRIMARY KEY); CREATE TABLE tab2(codigo INTEGER PRIMARY KEY,codigo_tab01 INTEGER REFERENCES tab1); Arquivo a ser carregado: COPY tab1 FROM '/tmp/arquivo_tabela1.txt' WITH DELIMITER ';' NULL AS ''; COPY tab2 FROM '/tmp/arquivo_tabela2.txt' WITH DELIMITER ';' NULL AS ''; Abs Em 17 de março de 2010 08:51, JotaComm jota.c...@gmail.com escreveu: Olá, Em 17 de março de 2010 08:32, Jesus Rodrigues jesusrodrigu...@gmail.com escreveu: Pessoal, Preciso realizar carga de grandes volumes em banco postgre. Segue um exemplo do problema. Uma correção, o nome do banco não é Postgre e sim Postgres ou PostgreSQL. Tenho duas tabela A e B, em que A contém múltiplas ocorrências de B (1 para N). Gostaria de carregar essas tabelas via loader, semelhante ao comando existente no oracle. Meu modelo é mais complexo, mas esse foi apenas um pequeno exemplo. Pergunta-se: 1º Existe um processo de carga semelhante (carga via loader) no postgre? Você quer carregar os dados de duas tabelas para um banco é isso? De uma olhada no pgloader [1] [1] http://pgloader.projects.postgresql.org/ 2º É possível carregar as duas tabelas (A e B) utilizando um único arquivo? Por exemplo, se esse arquivo tiver os dados estruturados em forma de um xml ou de forma hierárquica. Ou é necessário possuir dois arquivos, uma para os dados da tabela A e outro para os dados da tabela B? Pode ser um arquivo para carregar as duas tabelas. 3º Para carga de grandes volumes, um processo via loader é mais eficiente que um processo de inserção “normal” (abre transação, insere tudo, commit, fecha fecha transação)? Obrigado, ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral []s -- JotaComm http://jotacomm.wordpress.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 []s -- JotaComm http://jotacomm.wordpress.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 []s -- JotaComm http://jotacomm.wordpress.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