[pgbr-geral] Problemas com Triggers
Meus caros, Tenho 3 triggers que já utilizo a um bom tempo. Elas são responsaveis para alimentar 3 tabelas que tem informações resumidas que apareceram na home do site (www.saopaulofc.com.br) De uns dias para ká, ao gravar a noticia no site, as 3 triggers tem demorado para atualizar, não entendi pq desta mudança de comportamento. Vou mostrar abaixo o codigo das triggers. Uma breve explicação, estas triggers foram criadas para que na Home onde tem um grande trafico, não precisasse ficar fazendo consultas SQL na massa de dados (tabela noticias), então na postagem da noticia, ele alimenta 3 tabelas que tem apenas o que realmente precisa aparecer na home do site. --- Tabela Noticia - chamada das TRIGGERS -- CREATE TRIGGER tg_a_iud_noticia_seq01 AFTER INSERT OR UPDATE OR DELETE ON noticia FOR EACH ROW EXECUTE PROCEDURE fc_noticia_home(); COMMENT ON TRIGGER tg_a_iud_noticia_seq01 ON noticia IS 'Atualiza tabela que mostrará listagens da noticia no site.'; CREATE TRIGGER tg_a_iud_noticia_seq02 AFTER INSERT OR UPDATE OR DELETE ON noticia FOR EACH ROW EXECUTE PROCEDURE fc_botequim(); COMMENT ON TRIGGER tg_a_iud_noticia_seq02 ON noticia IS 'Atualiza tabela que mostrará o botequim.'; CREATE TRIGGER tg_a_iud_noticia_seq03 AFTER INSERT OR UPDATE OR DELETE ON noticia FOR EACH ROW EXECUTE PROCEDURE fc_destaque(); COMMENT ON TRIGGER tg_a_iud_noticia_seq03 ON noticia IS 'Atualiza tabela que mostrará as noticias em destaque.'; - CRIAÇÃO DA TRIGGER CREATE OR REPLACE FUNCTION fc_botequim() RETURNS trigger AS $BODY$begin DROP INDEX idx_mv_botequim_seq01; PERFORM refresh_matview('mv_botequim'); CREATE INDEX idx_mv_botequim_seq01 ON mv_botequim(not_data); RETURN NULL; end$BODY$ LANGUAGE plpgsql VOLATILE COST 100; ALTER FUNCTION fc_botequim() OWNER TO dbspneta1; COMMENT ON FUNCTION fc_botequim() IS 'Seleciona o botequim do destaque'; - CRIAÇÃO DA TRIGGER CREATE OR REPLACE FUNCTION fc_noticia_home() RETURNS trigger AS $BODY$begin DROP INDEX idx_mv_noticia_home_seq01; PERFORM refresh_matview('mv_noticia_home'); CREATE INDEX idx_mv_noticia_home_seq01 ON mv_noticia_home(not_data); RETURN NULL; end$BODY$ LANGUAGE plpgsql VOLATILE COST 100; ALTER FUNCTION fc_noticia_home() OWNER TO dbspneta1; COMMENT ON FUNCTION fc_noticia_home() IS 'Seleciona as noticias da home'; - CRIAÇÃO DA TRIGGER CREATE OR REPLACE FUNCTION fc_destaque() RETURNS trigger AS $BODY$begin DROP INDEX idx_mv_destaque_seq01; PERFORM refresh_matview('mv_destaque'); CREATE INDEX idx_mv_destaque_seq01 ON mv_destaque(not_data); RETURN NULL; end$BODY$ LANGUAGE plpgsql VOLATILE COST 100; ALTER FUNCTION fc_destaque() OWNER TO dbspneta1; COMMENT ON FUNCTION fc_destaque() IS 'Seleciona as noticias do destaque'; A função refresh_matview, foi criada para atualizar a minha materialize view, é uma função que já uso em outros pontos do banco de dados, e sempre funcionou perfeito. CREATE OR REPLACE FUNCTION refresh_matview(name) RETURNS void AS $BODY$ DECLARE matview_name ALIAS FOR $1; entry matview%ROWTYPE; BEGIN SELECT * INTO entry FROM matview WHERE mtv_name = matview_name; IF NOT FOUND THEN RAISE EXCEPTION 'Materialized view % does not exist.', matview_name; END IF; EXECUTE 'DELETE FROM ' || matview_name; EXECUTE 'INSERT INTO ' || matview_name || ' SELECT * FROM ' || entry.mtv_view; UPDATE matview SET mtv_lastrefr=CURRENT_TIMESTAMP WHERE mtv_name=matview_name; RETURN; END $BODY$ LANGUAGE plpgsql VOLATILE SECURITY DEFINER COST 100; ALTER FUNCTION refresh_matview(name) OWNER TO dbspneta1; COMMENT ON FUNCTION refresh_matview(name) IS 'Atualização da materialized view'; Se alguém puder me ajudar eu agradeço. -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelhoTwitter: matrixspnet http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Problemas com Triggers
2011/4/6 Leandro DUTRA leandro.gfc.du...@gmail.com 2011/4/6 Nilson Chagas nilson.chagas.si...@gmail.com: De uns dias para ká, ao gravar a noticia no site, as 3 triggers tem demorado para atualizar, não entendi pq desta mudança de comportamento. O código não faz muita diferença, a não ser que esteja ruim. O que precisa mesmo é de um perfil de execução, ou pelo menos do plano de execução. Vou mostrar abaixo o codigo das triggers. Uma breve explicação, estas triggers foram criadas para que na Home onde tem um grande trafico, não precisasse ficar fazendo consultas SQL na massa de dados (tabela noticias), então na postagem da noticia, ele alimenta 3 tabelas que tem apenas o que realmente precisa aparecer na home do site. Creio que um bom índice teria o mesmo efeito. Não seria otimização prematura? Temos uma base de noticias, muito grande, para não correr o risco que tinhamos no mysql na versão anterior do site, que ficava um tempão para trazer estes dados a tela, optei por trabalhar com uma massa de dados menor. Mas posso pegar a view que alimenta a trigger e substituir na tela e ver como fica. Vou fazer isto. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (61) 3546 7191 gTalk: xmpp:leand...@jabber.org +55 (11) 9406 7191ICQ/AIM: aim:GoIM?screenname=61287803 BRAZIL GMT-3 MSN: msnim:chat?contact=lean...@dutra.fastmail.fm ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelhoTwitter: matrixspnet http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] provedor de hospedagem postgresql
Tenho uma revenda na KingHost 2011/3/28 l...@xharbour.com.br Ola Alguem conhece um bom provedor de hospedagem postgresql. Tou procurando um para colocar uma base remota []s Luiz ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelhoTwitter: matrixspnet http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Erro: declaração preparada p do_pgsql_stmt_09e097f4 não existe
Estou tendo o seguinte erro no log: Erro: declaração preparada pdo_pgsql_stmt_09e097f4 não existe Pesquisando achei este comentario: A partir da documentação:http://www.postgresql.org/docs/8.1/interactive/sql-prepare.html Um comando preparado é um do lado do servidor objeto que pode ser usado para otimizar desempenho. Quando o PREPARE declaração é executado, o spécifié declaração é analisado, reescrito e planejado. Quando um comando EXECUTE é emitida posteriormente, o preparado instrução só precisa ser executado. Deste modo, a análise, reescrita e planejamento etapas são realizadas apenas uma vez, em vez de cada vez que a declaração é executado. Pesquisando na rede, descobri que o pdo_pgsql_stmt comando é de algum tipo de PHP-conexão com o banco de dados. Talvez este linkhttp://www.phpbuilder.com/manual/en/ref.pdo-pgsql.phppode ajudar a encontrar uma suiteable mailing-list ou emitir-tracker que você pode enviar suas mensagens de erro? Em resposta estava assim: Acho que isso iria ajudá-lo: http://jdbc.postgresql.org/documentation/81/server-prepare.html Basicamente, parece que os procedimentos armazenados que podem ser pré-compilados. Fazendo jus ao ditado, para morrer basta estar vivo, o servidor vinha bem, depois tivemos um problema de hardware, agora estou em um empasse com o hostmaster visto que fui eu quem instalalou o postgresql, pq eles disponibilizavam uma versão antiga. Sei que tudo tá parado agora (muito lento na verdade) e unico erro que encontrei no log, foi o que repasse acima (ele aparece repetido varias vezes). Realmente preciso fazer alguma pré-compilação?? -- []s Nilson Chagas - Ubuntu User 25794 (Personalize suas rotinas com PHP e Postgresql) --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelhoTwitter: matrixspnet http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] pg_valid_server_encoding_id e PQconnectionNeedsPassword
Estou montando um server teste (virtualizado) no meu note, e estou comum problema, penso saber o motivo, mas não como resolver. Instalei o CentOS, Postgresql 8.4.2, configurei e testei.. tudo lindo. Depois de fazer algumas atualizações e instalar o Zend Server, fui riar o usuario e banco de dados, deu um erro, ai descobri que qualquer comando dentro do psql, ou mesmo o pg_dump, tenho o erro: pg_dump: sumbol lookup erro: pg_dump: undefined symbol: PQconnectionNeedsPassword psql: symbol lookup error: psql: undefined symbol: pg_valid_server_encoding_id Pesquisando na net, parece ter algo haver com duplicidade ou versão, mas procurei olhei e nada. Será que alguém poderia me dar uma ajuda por onde tenho que ir?? -- []s Nilson Chagas - Ubuntu User 25794 (Personalize suas rotinas com PHP e Postgresql) --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelhoTwitter: matrixspnet http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] RES: Res: Sugestão de servidor .
Importante, HP, DELL, IBM, não pensa em montar a maquina por favor. Com 35K?? Não dá para pensar em um Storage?? 2010/8/5 TI t...@batistarepresentacoes.com Para montar um servidor destes depende de outros fatores como, : Tipo de Banco (OLTP etc...) Nivel de I/O esperado (pelo tipo da aplicação do banco) Load Average esperada Nº de requisições Perfmonce? Ou Segurança? Ou Ambos? (Raid 10 = Performance) segurança iSCSI? FribreChannel? Mas no contexto geral 35K monta-se um servidor e tanto... Temos um R900 da Dell que tem este “perfil” de valores com vmware rodando dois bancos num SAN com raid 10, e vou lhe falar que é um foguete. Claro que a modelagem contribui e muito para que o conjunto da ópera esteja em sintonia. Rubens José Rodrigues *De:* pgbr-geral-boun...@listas.postgresql.org.br [mailto: pgbr-geral-boun...@listas.postgresql.org.br] *Em nome de *Fabiano Machado Dias *Enviada em:* quinta-feira, 5 de agosto de 2010 16:35 *Para:* Comunidade PostgreSQL Brasileira *Assunto:* Re: [pgbr-geral] Res: Sugestão de servidor. Prefiro Intel, já tive problemas com AMD por causa do aquecimento. Lembrando que o seu gargalo é disco, gaste o seu dinheiro nele, depois memória e depois processador. Recomendo dar uma olhada na palestra do Telles http://www.slideshare.net/telles/discos-cia-em-postgresql Abraço, Fabiano Machado Dias Em 5/8/2010 16:25, Alex Barbosa Ferreira escreveu: Para banco de dados qual processador, um Intel Xeon ou AMD Opteron? *Alex B. Ferreira* *Analista em Segurança da Informação* -- *De:* Nilson Chagas nilson.chagas.si...@gmail.comnilson.chagas.si...@gmail.com *Para:* Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.brpgbr-geral@listas.postgresql.org.br *Enviadas:* Quinta-feira, 5 de Agosto de 2010 16:08:09 *Assunto:* Re: [pgbr-geral] Sugestão de servidor. 2010/8/5 Alex Barbosa Ferreira al...@yahoo.com.br Boa tarde! a empresa em que trabalho decidiu fazer investimento num servidor para nosso banco de dados, diante desta situação gostaria de algumas sugestões de configuração. Atualmente nosso banco de dados está com 50GB e um crescimento aproximado de 2% por semana. O servidor atual é biprocessado Xeon com 4GB de memória e dois HD Sata com placa-mãe Intel sem unidade de backup. Não sei qual o tamanho do investimento, mas um servidor com 8Gb e HD SAS Uma mera opinião. -- []s Nilson Chagas - Ubuntu User 25794 (Hospedagem com postgresql a partir de R$ 5,00) --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelhoTwitter: matrixspnet http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ 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 Nilson Chagas - Ubuntu User 25794 (Hospedagem com postgresql a partir de R$ 5,00) --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelhoTwitter: matrixspnet http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Sugestão de servidor.
Você está planejando também a estrutura para a máquina de contingência? Muito importante. 2010/8/5 JotaComm jota.c...@gmail.com Olá, Em 5 de agosto de 2010 15:15, Alex Barbosa Ferreira al...@yahoo.com.brescreveu: Boa tarde! a empresa em que trabalho decidiu fazer investimento num servidor para nosso banco de dados, diante desta situação gostaria de algumas sugestões de configuração. Atualmente nosso banco de dados está com 50GB e um crescimento aproximado de 2% por semana. O servidor atual é biprocessado Xeon com 4GB de memória e dois HD Sata com placa-mãe Intel sem unidade de backup. Bom, vamos lá. Qual tipo de aplicação? OLTP ou OLAP? Acredito que seja OLTP. Hoje você tem algum gargalo? Disco? I/O? Memória? Eu acho muito complicado simplesmente em falar que esta estrutura é melhor do que aquela, sem tem informações concretas e precisas do sistema. Dos recursos que você tem hoje qual é o mais exigido? Disco? Memória? CPU? Sem informações mais concretas é difícil dar uma boa opinião. Você está planejando também a estrutura para a máquina de contingência? Qual o planejamento se o servidor principal tiver algum problema? Já que vai montar um nova estrutura, o ideal é pensar em todos os detalhes e levantar o máximo de informação possível. Atenciosamente, *Alex B. Ferreira* *Analista em Segurança da Informação* ___ 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 -- []s Nilson Chagas - Ubuntu User 25794 (Hospedagem com postgresql a partir de R$ 5,00) --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelhoTwitter: matrixspnet http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Registros Antes e Depois...
Pessoal, eu tenho uma duvida se existe uma forma correta de como estar trazendo o registro antes e depois. Vou explicar, tenho um site de noticias, e o pessoal quer que eu coloquei um link para a noticia anterior e posterior. Nao me vem na mente como fazer isto sem ter que dar 3 selects, um para encontrar a noticia atual, e outros dois utilizando um limit talvez para trazer o id e descriçao do anterior e proximo. Alguem pode me ajudar ate em busca no google, pq nao sei como perguntar ou pesquisar sobre isto, serio mesmo. -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho Twitter: matrixspnet http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Insert Condicional..
Valew pelas dicas. Depois de parar e pensar melhor consegui atraves de um consulta no google uma maneira da forma como eu precisava. Não consigo achar agora o exemplo que vi, mas funcionaria assim. - Cria uma trigger - Declara uma variavel (var_codigo) do mesmo tipo do codigo - faz um select (select into var_codigo codigo from tabela_b where codigo = new.codigo) - e compara if NOT_FOUND. Mas eu tive que estacionar por enquanto, pq precisava trazer também o $SESSION do PHP, e este campo não estava sendo gravado. Então estou pensando se vai valer a pena fazer a comparação dentro do banco ou via PHP, pq se for fazer via BANCO vou ter que acrescentar o campo $SESSION as duas tabelas. Mas muito obrigado, a dica de vocês já me serviram para outros cases. 2010/3/18 JotaComm jota.c...@gmail.com Olá, Em 18 de março de 2010 21:31, Nilson Chagas nilson.chagas.si...@gmail.com escreveu: Pessoal como eu montaria uma trigger/constraint para criar a seguinte regra. Tabela A Codigo Nome Tabela B Codigo Data Somente inseri registros na tabela A se existir o Codigo na Tabela B. Não pode ser através de FK, pq a Tabela B é zerada a cada 2 horas. Pensei em montar um trigger mas não sei como pegar o retorno do select e o que informar no return. Se alguém puder me cantar a pedra. rsrsrsrs Também não entendi muito bem o que vocẽ deseja. Veja se é mais ou menos isso que vocẽ quer: CREATE TABLE tab1(codigo INTEGER PRIMARY KEY,nome VARCHAR(30)); CREATE TABLE tab2(codigo INTEGER PRIMARY KEY,nome VARCHAR(20),data TIMESTAMP WITHOUT TIME ZONE); CREATE OR REPLACE RULE exemplo_regra AS ON INSERT TO tab2 DO INSERT INTO tab1 VALUES (NEW.codigo,NEW.nome); postgres=# INSERT INTO tab2 VALUES (1,'JP',current_timestamp); INSERT 0 1 postgres=# SELECT * FROM tab2; codigo | nome |data +--+ 1 | JP | 2010-03-18 23:37:08.132421 (1 row) postgres=# SELECT * FROM tab1; codigo | nome +-- 1 | JP (1 row) -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho Twitter: matrixspnet http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ 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 -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho Twitter: matrixspnet http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Insert Condicional..
Pessoal como eu montaria uma trigger/constraint para criar a seguinte regra. Tabela A Codigo Nome Tabela B Codigo Data Somente inseri registros na tabela A se existir o Codigo na Tabela B. Não pode ser através de FK, pq a Tabela B é zerada a cada 2 horas. Pensei em montar um trigger mas não sei como pegar o retorno do select e o que informar no return. Se alguém puder me cantar a pedra. rsrsrsrs -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho Twitter: matrixspnet http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Versão do Postgresql
Bom não estou muito afim de assumir esta bucha. Se eu continuar com a versão 8.1.8, vamos dizer, qual será o impacto no meu site, ou melhor o que vou estar perdendo em relação a versão mais nova??? -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho Twitter: matrixspnet http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line 2010/2/25 Pablo Sánchez phack...@gmail.com Em 25 de fevereiro de 2010 22:21, Nilson Chagas nilson.chagas.si...@gmail.com escreveu: Então eu passei a bola para o suporte veja a resposta que tive: Pelo que verificamos a versão mais recente disponível pelos desenvolvedores da distribuição CentOS é a 8.1.18, por isso essa foi a versão instalada pelo script de instalação do Cpanel. É sempre feita a instalação da versão mais recente disponibilizada pela distribuição Linux usada. Recomendamos que você utilize a versão já instalada até que a nova versão seja distribuida pela CentOS. A não ser que esteja muito enganado, mas acredito que isto não procede. Se a distribuição não oferece em seus pacotes, tem que ser feito na unha, ou estou errado?? Sim, mas nesse caso o suporte não o fará para você. Eles se limitam a dar suporte àquilo que eles podem automatizar, afinal de contas, você não é o unico cliente deles. Se por algum motivo, sua versão compilada na unha parar de funcionar, eles definitivamente não vão ter a menor idéia de como corrigir, e provavelmente não vão nem conseguir verificar o configure --version para saber como tinha sido compilado antes e repetir a operação. Ou seja, nesse caso, se você o fizer, terá que fazer na mão, sozinho e assumir o risco de estragar tudo. Se não tem nada ainda rodando no servidor, pode até valer a pena se arriscar 1 ou 2 vezes. Se baixar o PostgreSQL e compilar do fonte sem alterar o prefiz, ele colocar tudo automaticamente no /usr/local/pgsql, ou seja, fica fácil para remover, é só apagar essa pasta e começar de novo do zero. E se nada mais der certo, você pode pedir a eles que reinstalem o servidor tal qual estava quado foi contratado, porque com certeza eles tem alguma imagem pronta para colocar em um jail. Quando o PG estava na versão 7, escrevi este artigo. Está desatualizado, mas praticamente tudo que está aí ainda é válido. O que não for válido, é fácil de ver no manual como mudou. http://www.idsl.org.br/index.php?cont_cod=48 Um abc Obs; se você o fizer, não venha me responsabilizar caso estrague tudo. Como disse, a documentação está desatualizada, e eu tenho utilizado o ports do FreeBSD para instalar o PG. -- = Pablo Santiago Sánchez Análise e Desenvolvimento de Sistemas Web Zend Certified Engineer #ZEND006757 phack...@gmail.com (61) 9975-0883 http://www.sansis.com.br http://www.corephp.com.br Quidquid latine dictum sit, altum viditur = ___ 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] ot - Orçamento
Visto que o ideal será mudar a versão do postgresql. Alguém da lista tem uma empresa ou seja pessoa juridica (pq vou precisar de NF), pode fazer um orçamento para mim: - remover versão 8.1.18 (remover mesmo não tem nada para fazer backup). - instalar versão mais recente - backup do server antigo (8.2.7) para o server novo. Por favor enviar em PVT. -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho Twitter: matrixspnet http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Versão do Postgresql
Então Osvaldo e Roberto, É um servidor dedicado, então vamos dizer ele é meu faço o que quiser. *risos* Ele esta com o CENTOS 5.4 x86_64 standard on server, tenho acesso via ssh, e administração via CPanel e WebHost Manager. Não sou DBA, conheço de banco de dados, mas não profundamente sobre configuração de banco de dados. Tenho receio de desistalar e perder a administração que vem com no painel. Será que alguém sabe se é possivel atualiar via WebHost Manager?? Ou uma maneira de fazer upload sem desinstação e instalação?? -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho Twitter: matrixspnet http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line 2010/2/25 Osvaldo Kussama osvaldo.kuss...@gmail.com Em 25 de fevereiro de 2010 16:21, Nilson Chagas nilson.chagas.si...@gmail.com escreveu: Pessoal, Contratei um novo host, e o banco de dados postgresql nele (segundo suporte que já veio sugerido) é o 8.1.18, no meu host antigo era o 8.2.7. Vocês me aconselham mudar a versão?? Se sim, para qual? Creio que o mais indicado é a versão mais atual. No momento: 8.4.2 Se não for possível mudar para a 8.4.x mude pelo menos para os releases mais recentes: 8.3.9, 8.2.15, 8.1.19 Osvaldo ___ 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] Versão do Postgresql
Pessoal, Contratei um novo host, e o banco de dados postgresql nele (segundo suporte que já veio sugerido) é o 8.1.18, no meu host antigo era o 8.2.7. Vocês me aconselham mudar a versão?? Se sim, para qual? Grato -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho Twitter: matrixspnet http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Versão do Postgresql
2010/2/25 Pablo Sánchez phack...@gmail.com Cara, um amigo meu tem um serviço do gênero, onde ele tem root via ssh e o escambal. Mas o serviço que ele está, quando ele quer que algo seja atualizado, é só abrir um ticket de suporte especificando o que ele quer que o povo lá se vira para fazer funcionar. A princípio o CPanel não vai parar de funcionar, mas sempre há o risco... Veja a versão do CPanel disponível para você, e pesquise quais versões do PostgreSQL ele consegue administrar. Mas pelo que me lembre, o CPanel nada mais faz do que chamar o velho PHPPgAdmin de guerra na hora de administrar o banco... Então eu passei a bola para o suporte veja a resposta que tive: Pelo que verificamos a versão mais recente disponível pelos desenvolvedores da distribuição CentOS é a 8.1.18, por isso essa foi a versão instalada pelo script de instalação do Cpanel. É sempre feita a instalação da versão mais recente disponibilizada pela distribuição Linux usada. Recomendamos que você utilize a versão já instalada até que a nova versão seja distribuida pela CentOS. A não ser que esteja muito enganado, mas acredito que isto não procede. Se a distribuição não oferece em seus pacotes, tem que ser feito na unha, ou estou errado?? -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho Twitter: matrixspnet http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Não repedir dados do campo...
Pessoal, vou fazer uma pergunta, creio eu de pura ignorancia, mas não sei nem como procurar isto. Tenho um campo na tabela que deve ser unico, salvo se ele estiver nulo, não testei mas até onde eu sei indices unicos não permitem duplicar campos nulos. Alguém pode me esclarecer isto?? -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho Twitter: matrixspnet http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ 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ão repedir dados do campo...
Muito obrigado, vou estar assim que chegar em casa. 2009/10/21 Osvaldo Kussama osvaldo.kuss...@gmail.com 2009/10/21 Nilson Chagas nilson.chagas.si...@gmail.com: Pessoal, vou fazer uma pergunta, creio eu de pura ignorancia, mas não sei nem como procurar isto. Tenho um campo na tabela que deve ser unico, salvo se ele estiver nulo, não testei mas até onde eu sei indices unicos não permitem duplicar campos nulos. Alguém pode me esclarecer isto?? Creio que é possível inserir vários registros que tenham o campo do índice NULL. bdteste=# CREATE TEMP TABLE foo(x int); CREATE TABLE bdteste=# CREATE UNIQUE INDEX id_x ON foo(x); CREATE INDEX bdteste=# INSERT INTO foo VALUES (0); INSERT 0 1 bdteste=# INSERT INTO foo VALUES (1); INSERT 0 1 bdteste=# INSERT INTO foo VALUES (1); ERRO: duplicar valor da chave viola a restrição de unicidade id_x bdteste=# INSERT INTO foo VALUES (null); INSERT 0 1 bdteste=# INSERT INTO foo VALUES (null); INSERT 0 1 bdteste=# INSERT INTO foo VALUES (null); INSERT 0 1 bdteste=# \pset null '(null)' Exibição nula é (null). bdteste=# SELECT * FROM foo; x 0 1 (null) (null) (null) (5 registros) Osvaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho Twitter: matrixspnet http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ 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ão repedir dados do campo...
Puxa nunca pensei que de uma pergunta como esta poderia aprender tanto. Valew, depois da sua explicação me deu até uma luz de como contornar de tal forma que não exista campos nulos. 2009/10/21 Leonardo Cezar lhce...@gmail.com 2009/10/21 Joao Cosme de Oliveira Junior joao.co...@serpro.gov.br Só para complementar . Null significa indeterminado ou não se aplica Só pra complementar++, ao utilizar NULL você estará assumindo armazenar valores fora do domínio daquela coluna e portanto não conseguirá armazenar requisitos sequer para alcançar 1FN (desconsiderando as controvérsias). Resultado disso são anomalias (tratamento especial) com agregação, agrupameto, concatenação, ordenação, *ção. Devido a falta de tipos nulos (aplicáveis e não-aplicáveis) no SQL-ANSI torna-se impossível manter um modelo de dados consistente utilizando atributos que permitam nulos. De preferência por normalizar essa relação, por exemplo: PESSOA { #CPF, NOME, PROFISSAO } O atributo PROFISSAO pode ser Nulo, mas aplicável, então: PESSOA { #CPF, NOME }-- Tabela de pessoas PROFISSAO { #CBO, TITULO, TIPO, ATIVO } -- Tabela de profissões segundo ministério do trabalho; OCUPACAO {#CPF, #CBO, DESDE, ... }-- Tabela de profissões de uma PESSOA; De acordo com o modelo acima, o atributo PROFISSAO só seria preenchido quando uma PESSOA de fato possuir uma ocupação. Desta forma eliminamos os NULLs da variável de relação PESSOA - PROFISSAO e obecedemos a 1FN. Abraço! -Leo -- Leonardo Cezar http://www.aslid.org.br http://postgreslogia.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 -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho Twitter: matrixspnet http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ 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 usar o diretório de dados info rmado pelo usuário.
Os nobres colegas, já passaram muitas informações uteis para você. Desejo apenas dizer o seguinte. Você pode criar na sua hospedagem uma pasta de configuração (eu faço isto), dentro dela vc tem os dados principais para se conectar ao banco de dados. Na tela depois de logar, você pode perguntar para ele em qual arquivo de configuração ele quer conectar, e vc conecta no banco que esta dentro do arquivo de configuração. Ex: pg_servidor.ini (servidor, usuario, senha, banco) pg_cliente.ini (servidor, usuario, senha, banco) Será que deu para entender??? Agora com relação ao Pen drive, ai vc teria que configurar o postgres nele, não posso dizer que funcionar, mas não aconselho. Fala para o seu cliente comprar um hd externo, é melhor. 2009/8/27 Bruno Carneiro guimaraescarne...@gmail.com: Fiz uma busca no forum por pendrive ( no final das contas, é um pendrive que quero usar ) mas não encontrei exatamente o que eu procuro. Tenho um sistema em PHP e gostaria que ao entrar no sistema, o usuário especificasse o diretório de onde os dados serão carregados. Isso porque um cliente simplesmente quer que seus dados fiquem no pendrive. Então pensei em permitir que ele escolha qualquer diretório ( hd, pen, etc ). Pensei em duas abordagens: 1. Meu sistema fica online ( servidor web ), onde também ficara meu banco de dados Postgres. O cliente se conecta ao sistema, faz seu login, então informa qual o diretório de dados. O Postgres vai carregar esse diretório. Observe que o postgres está no servidor ( web online ) e quero acessar o diretório da maquina do cliente. 2. Meu sistema fica online ( servidor web), mas o POSTGRES ficará num servidor na empresa do cliente. O cliente vai escolher numa lista onde está o seu banco de dados ( hd, pen ou padrão ) de acordo com a sua escolha o postgres vai carregar o diretório. O que eu mais gostaria é da opção número 1 ( ou talvez uma mistura das duas opções). Embora seja mais lenta esse vai ser o preço pago pelo usuário que preferir usar um diretório no seu computador. Gostaria de saber da viabilidade dessas idéias. Lendo a documentação no capítulo 16.4.1 do PG 8.0 eu descobri isso: data_directory (string) Mas não entendi como usar pois o capítulo fala sobre arquivos de configuração, mas isso me parece uma função que a gente chama na hora da inicialização do servidor. Alguém poderia me dar uma luz sobre a utilização do data_directory() ?? -- View this message in context: http://www.nabble.com/Como-usar-o-diret%C3%B3rio-de-dados-informado-pelo-usu%C3%A1rio.-tp25168253p25168253.html Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ 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 usar o diretório de dados info rmado pelo usuário.
Se o cliente vai digirtar usuario e senha no seu site, fica facil fazer oque vc quer. Configura o usuario dele, se ele vai usar o banco online ou local, ai quando for abrir o sistema, vc usa a configuração X senão a Y 2009/8/27 Bruno Carneiro guimaraescarne...@gmail.com: Ok, obrigado ela resposta. Então deixa eu aproveitar e expor um pouco mais meu problema. É meu primeiro desenvolvimento, por isso estou um pouco perdido. Vou desenvolver um software em tecnologias web ( Flex + PHP ) e vou vender esse software para vários clientes. Na minha abordagem número 2, onde eu deixaria o banco de dados na loja do cliente, para mim seria ótimo. Apesar de ser um pouco mais lento isso seria bom por vários motivos: 1- Tendo meu software na web, fica mais fácil evitar a pirataria. Se eu colocar no cliente, é facinho de copiar e passar pra outros. 2- Eu não vou ter custo de instalação do meu software em cada cliente, vou apenas liberar uma senha para ele acessar na web 3- Os clientes se sentem mais seguros com os dados na loja, e podem até simular o uso do pendrive usando um hd externo. Como alguns já fazem. 4- Com o processamento do banco divido, eu não vou precisar de me preocupar em implementar a performance do banco de dados. Cada banco será usado por uma loja. E como eu estou desenvolvendo sozinho, é uma coisa a menos pra eu estudar. Pois terei que estudar mais profundamente o postgres caso precise melhorar a performance. Agora, se eu colocar o meu banco no meu servidor web 1- Os clientes se sentem inseguros; 2- Eles não podem carregar os dados pra casa ( eles gostam disso ). E outra opção, manter o meu software e o banco na loja do cliente 1- Eu vou ter que ir pessoalmente em cada loja e fazer uma instalação. 2- O software poderá ser copiado facilmente; 3- Eu não vou ter controle sobre o uso do software, ou pelo menos, terei menos controle. Então, gostaria de encerrar com uma pergunta: É viável deixar meu software na web e apenas acessar o banco de dados remotamente na loja do cliente? Neste caso, quando o cliente logar, eu vou ter la na web o ip do servidor dele. Tiago Sampaio wrote: Cara, acho loucura isso que voce quer, por alguns motivos: 1) Pen-drive tem vida util de X gravaçoes, de uma hora pra outra o pen-drive vai morrer. Ou seja, vai ter que voltar backup e tudo mais. 2) Não tem como vc alterar dinamicamente a pasta de armazenamento do postgres. No maximo vc conseguiria criar um tablespace e poupular ele, mas mesmo assim é loucura. 3) Acessar os dados da maquina do cliente? Como assim? VC teria um servidor e a base ficaria na maquina (estação) do cliente? Totalmente inviavel, pois se a maquina for windows, vc teria que mapear via samba ou pelo compartilhamento do windows mesmo, e isso é implorar para ter dor de cabeça, pois se der uma ziquinha qualquer na rede vai dar pau no postgres e o banco provavelmente vai dar shutdown, e num caso pior pode dar rollback nas transações, vixi. 4) O servidor ficar na estrutura do cliente é a opção mais viavel, mas tem que ser levado em conta a infraestrutura de internet, se não for boa será dor de cabeça tambem; -- View this message in context: http://www.nabble.com/Como-usar-o-diret%C3%B3rio-de-dados-informado-pelo-usu%C3%A1rio.-tp25168253p25174674.html Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Valor do campo no Before Insert
O Fabrizio já respondeu e provavelmente dará certo (testarei assim que chegar em casa). Mas como vc perguntou do objetivo é o seguinte: Tabela perfil Campos per_id, per_descr Tabela usuario Campos usu_id, usu_username, per_id Na tabela perfil tenho um registro cuja descrição é Usuário Sempre que incluir um novo registro na tabela usuario, o campo per_id da tabela deverá ser preenchido com o valor do campo per_id da tabela perfil, cuso per_descr seja igual a Usuário -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line 2009/8/13 JotaComm jota.c...@gmail.com: Olá, Nilson Fiquei um pouco confuso. Você poderia discorrer um pouco mais sobre qual o seu objetivo com esta função? 2009/8/13 Nilson Chagas nilson.chagas.si...@gmail.com Pessoal, Não sou dba, e estou apenas gatinhando no postgresql. Preciso de uma trigger no before insert da tabela (ou talvez alguém tenha até uma outra solução). Estou tentando algo assim: CREATE OR REPLACE FUNCTION fc_perfil_usuario() RETURNS trigger AS $BODY$begin -- verifica se o campo per_id é nulo IF NEW.per_id IS NULL THEN -- busca o id na tabela perfil SELECT per_id into perfil FROM perfil where per_descr = 'Usuário'; END IF; -- campo per_id da tabela usuário NEW.per_id := perfil; RETURN NEW; end$BODY$ LANGUAGE 'plpgsql' VOLATILE; COMMENT ON FUNCTION fc_perfil_usuario() IS 'Se o campo perfil do usuario estiver nulo a função busca o id da descrição usuario'; Qual é a maneira correta de se fazer isto?? -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ 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 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 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Valor do campo no Before Insert
Puxa sabia que existia outras formas. Uma pergunta, o CREATE RULE estará funcionando como um DEFAULT para o campo no disparo da inserção?? Se eu informar um id diferente, ele não vai sobregravar?? (só para confirmar) -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line 2009/8/14 JotaComm jota.c...@gmail.com: Olá, Pensei na seguinte solução. Veja se atende a sua solução: CREATE RULE rule_exemplo AS ON INSERT TO usuario DO UPDATE usuario SET per_id=perfil.per_id FROM perfil WHERE perfil.per_desc='Usuario'; Exemplo de utilização: INSERT INTO usuario(usu_id,usu_usename) VALUES (1,'JP'); Ao realizar este INSERT automaticamente o campo per_id da tabela usuario é preenchido com per_id da tabela perfil onde a condição é per_desc='Usuario'. 2009/8/14 Nilson Chagas nilson.chagas.si...@gmail.com O Fabrizio já respondeu e provavelmente dará certo (testarei assim que chegar em casa). Mas como vc perguntou do objetivo é o seguinte: Tabela perfil Campos per_id, per_descr Tabela usuario Campos usu_id, usu_username, per_id Na tabela perfil tenho um registro cuja descrição é Usuário Sempre que incluir um novo registro na tabela usuario, o campo per_id da tabela deverá ser preenchido com o valor do campo per_id da tabela perfil, cuso per_descr seja igual a Usuário -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line 2009/8/13 JotaComm jota.c...@gmail.com: Olá, Nilson Fiquei um pouco confuso. Você poderia discorrer um pouco mais sobre qual o seu objetivo com esta função? 2009/8/13 Nilson Chagas nilson.chagas.si...@gmail.com Pessoal, Não sou dba, e estou apenas gatinhando no postgresql. Preciso de uma trigger no before insert da tabela (ou talvez alguém tenha até uma outra solução). Estou tentando algo assim: CREATE OR REPLACE FUNCTION fc_perfil_usuario() RETURNS trigger AS $BODY$begin -- verifica se o campo per_id é nulo IF NEW.per_id IS NULL THEN -- busca o id na tabela perfil SELECT per_id into perfil FROM perfil where per_descr = 'Usuário'; END IF; -- campo per_id da tabela usuário NEW.per_id := perfil; RETURN NEW; end$BODY$ LANGUAGE 'plpgsql' VOLATILE; COMMENT ON FUNCTION fc_perfil_usuario() IS 'Se o campo perfil do usuario estiver nulo a função busca o id da descrição usuario'; Qual é a maneira correta de se fazer isto?? -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ 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 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 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Espero ter ajudado. []s -- 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 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Valor do campo no Before Insert
2009/8/14 JotaComm jota.c...@gmail.com: Olá, Nilson 2009/8/14 Nilson Chagas nilson.chagas.si...@gmail.com Puxa sabia que existia outras formas. Uma pergunta, o CREATE RULE estará funcionando como um DEFAULT para o campo no disparo da inserção?? Sim. Toda inserção que estiver na tabela ele chama rule e executa o comando UPDATE. Se eu informar um id diferente, ele não vai sobregravar?? (só para confirmar) Irá gerar um nova entrada (linha) na tabela. Aqui você me confundiu. Se eu fizer um insert into usuario (usu_id, usu_username) values (1, 'teste') Com o rule, ele vai inserir o per_id da tabela perfil no campo per_id da tabela usuario. E se eu fizer insert into usuario (usu_id, usu_username, per_id) values (1, 'teste', 10) Ele vai criar uma nova linha?? Ps.: Perdão pela ignorancia. -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Valor do campo no Before Insert
2009/8/14 JotaComm jota.c...@gmail.com: Nilson, 2009/8/14 Nilson Chagas nilson.chagas.si...@gmail.com 2009/8/14 JotaComm jota.c...@gmail.com: Olá, Nilson 2009/8/14 Nilson Chagas nilson.chagas.si...@gmail.com Puxa sabia que existia outras formas. Uma pergunta, o CREATE RULE estará funcionando como um DEFAULT para o campo no disparo da inserção?? Sim. Toda inserção que estiver na tabela ele chama rule e executa o comando UPDATE. Se eu informar um id diferente, ele não vai sobregravar?? (só para confirmar) Irá gerar um nova entrada (linha) na tabela. Aqui você me confundiu. Se eu fizer um insert into usuario (usu_id, usu_username) values (1, 'teste') Com o rule, ele vai inserir o per_id da tabela perfil no campo per_id da tabela usuario. E se eu fizer insert into usuario (usu_id, usu_username, per_id) values (1, 'teste', 10) Ele vai criar uma nova linha?? Ao executar desta forma você fara o INSERT porém após esta operação de INSERT é chamada uma RULE de UPDATE e assim o seu registro inserido será atualizado pela RULE. Se você não quiser que ela funcione assim, no final da RULE coloque a seguinte condição AND usuario.per_id IS NULL, assim ele não atualizará o valor do insert quando você informa o para per_id. Puxa, agora ficou bem claro e vai funcionar como preciso. Abusando um pouco mais de vocês. create rule, ou trigger?? Posso ter problema com performance, visto que os dois podem fazer o mesmo serviço?? -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Valor do campo no Before Insert
Pessoal, Não sou dba, e estou apenas gatinhando no postgresql. Preciso de uma trigger no before insert da tabela (ou talvez alguém tenha até uma outra solução). Estou tentando algo assim: CREATE OR REPLACE FUNCTION fc_perfil_usuario() RETURNS trigger AS $BODY$begin -- verifica se o campo per_id é nulo IF NEW.per_id IS NULL THEN -- busca o id na tabela perfil SELECT per_id into perfil FROM perfil where per_descr = 'Usuário'; END IF; -- campo per_id da tabela usuário NEW.per_id := perfil; RETURN NEW; end$BODY$ LANGUAGE 'plpgsql' VOLATILE; COMMENT ON FUNCTION fc_perfil_usuario() IS 'Se o campo perfil do usuario estiver nulo a função busca o id da descrição usuario'; Qual é a maneira correta de se fazer isto?? -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br - Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho http://www.amados.com.br http://bbnradio.org - Ouça a rádio e faça gratuitamente um Curso Biblico On-Line ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] ot - Wordpress com Postgresql
E por conta deste desinteresse, em portabilidade, vou ter que criar uma camada de aplicação, ainda no sei como, para integrar minha base postgres, do site com a do wordpress. E não entendo, pq não se fazer um sistema totalmente abstrato. Particularmente todos projetos que tenho me envolvido, não se prendem mais a banco de dados (postgres, sempre é preferencia), ou a sistema operacional. -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico 2009/7/7 Hikari li...@hikarinet.info: Interessante... Um offtopic dentro do offtopic: o Drupal suporta MySQL e Postgres, mas no site deles é dito q alguns modules podem naum funcionar tão bem no Postgres quanto desejariam. Infelizmente a realidade é essa, o padrão na Web é PHP + SQL. Lembro q até alguns anos atrás esses 2 eram praticamente sinônimos, ninguém aprendia 1 sem aprender o outro junto, livros ensinavam eles ao mesmo tempo. Daí agora é complicado mudar. Meu host HawkHost.com oferece Postgres junto com MySQL, mas eu sempre acabo indo no My. O fato é q a maioria dos hosts suportam só o MySQL, a maioria dos users usam ele mesmo qd tem alternativas e a maioria dos developers mal testam no Postgres, isso qd testam. É igual comparar a estabilidade de aplicativos do Windows em Dual Monitor e monitor simples... até no desenvolvimento do OS em si a maioria dos developers e beta testers usam 1 monitor só, e qd usam 2 é pra situações específicas. Todos os CMS dependem d+ de plugins/addons/modules/etc. Mesmo se suportarem vários databases nativamente, a naum ser q ofereçam uma boa (de qualidade, consistente e completa) API de abstração q libere os developers de acessarem o database diretamente E desestimule ou até impeça eles de fazer isso, eles vão simplesmente usar o database q preferem e q é mais usado, daí basta um comando proprietário pra acabar com a compatibilidade com as alternativas. E vc tá disposto a dispensar um plugin só pra usar um database diferente, q no final dá praticamente no mesmo?... Acaba q se até o Drupal q suporta ambos assume q o Postgres naum é tão suportado qt o MySQL, imagina o Wordpress q só suporta 1 e é conhecidamente muito mais travado q o Drupal... --- Hikari - A Luz ilumina a PAZ http://Hikari.ws http://ConscienciaPlanetaria.com Tenha seu próprio email meunome @ ConscienciaPlanetaria.com.br!: http://seunome.ConscienciaPlanetaria.com.br - Original Message - From: Walter Cruz To: Comunidade PostgreSQL Brasileira Sent: Monday, 06 July, 2009 12:45 PM Subject: Re: [pgbr-geral] ot - Wordpress com Postgresql Hum Resposta simples: não ;) Resposta longa: dê uma olhada em http://codex.wordpress.org/Using_Alternative_Databases e http://wordpress-pg.sourceforge.net/ O primeiro link é uma discussão sobre o suporte a bancos de dados alternativos no wordpress, o segundo é sobre um hack feito em cima do wordpress 1.2 para suportar postgresql. O problema maior é que o código é de fato centrado no MySQL, de propósito. Um tempo atrás eu queria fazer o b2evolution (um CMS baseado no mesmo do qual o wordpress é, o b2) trabalhasse com postgresql. Em alguns casos onde a consulta era feita usando uma sintaxe particular de SQL do MySQL, mas que era possível ser escrita de uma forma com o padrão ANSI, eu o fiz (a maioria dos casos, coisas como SELECT YEAR(campo) versus SELECT EXTRACT(year from campo) as YEAR) . Mas tem muitas coisas amarradas demais ao MySQL, a melhor forma de ter um suporte nesses sistemas seria um fork, ou uma total reescrita da parte dos dados. -- []' - Walter waltercruz.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] ot - Wordpress com Postgresql
2009/7/7 Fábio Telles Rodriguez fabio.tel...@gmail.com: 2009/7/7 Nilson Chagas nilson.chagas.si...@gmail.com: E por conta deste desinteresse, em portabilidade, vou ter que criar uma camada de aplicação, ainda no sei como, para integrar minha base postgres, do site com a do wordpress. E não entendo, pq não se fazer um sistema totalmente abstrato. Particularmente todos projetos que tenho me envolvido, não se prendem mais a banco de dados (postgres, sempre é preferencia), ou a sistema operacional. Cuidado Ninson, nesta seara você pode acabar dizendo que banco de dados é tudo igual... e não é! Acho sim que podemos criar algumas camadas de abstração, e utilizar ao máximo o padrão SQL fugindo das soluções específicas de cada banco. Mas existem casos em que isso se torna mais complexo. Lembro-me de um projeto há uns 4 anos atrás em que utilizamos o MySQL e descobrimos que ele não tratava nativamente datas antes de 1970! Foi um problema sério no projeto e tivemos que contornar isso. O tratamento de Locks também é um caso clássico onde muita coisa muda. Não é qualquer banco que tem MVCC como o PostgreSQL tem. Sem contar o uso de funções no banco, aí a história vai longe. Você tem que realmente criar uma função para cada versão de banco. Na verdade, toda a parte de DDL tem de ser específica para cada SGDB, cada um tem seus parâmetros próprios para determinar qual tablespace usar e outros parâmetros para otimização. O problema é que as pessoas acham que podem baixar um .zip da internet, descompactar em /var/www e sair usando impunemente. Sem ter que mexer nada no banco. Assim em 2 minutos você tem a sua aplicação no ar. Mas é claro que a segurança e o desempenho vão para o vinagre. Em suma, esse negócio de fazer aplicação totalmente independente de banco não existe. Devemos buscar o padrão, mas saber que - até segunda ordem - é impossível. A não ser que você realmente acredite que coisas como o Hibernate possam ser utilizados no modo padrão sem nenhum malefício para o desempenho... Faz sentido para você? É da forma que escrevi ficou muito generica. Primeiro que não trabalho mais com desenvolvimento de grandes sistemas. E para os sistemas que desenvolvo, procuro bancos de dados, que me oferecem pelo menos o minimo de recurso, por isto nunca havia usado o Mysql até a versão 5, alias não uso, e dificilmente usarei, para projetos meus. Por não trabalhar com empresas de grande porte, eu consigo ter uma flexibilidade maior. -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] ot - Wordpress com Postgresql
Eu tentei procurar na net, mas não encontrei nada sobre. É possivel utilizar o Wordpress com o Postgresql?? -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] ot - Wordpress com Postgresql
2009/7/6 Walter Cruz walter@gmail.com: Hum Resposta simples: não ;) Resposta longa: dê uma olhada em http://codex.wordpress.org/Using_Alternative_Databases e http://wordpress-pg.sourceforge.net/ O primeiro link é uma discussão sobre o suporte a bancos de dados alternativos no wordpress, o segundo é sobre um hack feito em cima do wordpress 1.2 para suportar postgresql. O problema maior é que o código é de fato centrado no MySQL, de propósito. Um tempo atrás eu queria fazer o b2evolution (um CMS baseado no mesmo do qual o wordpress é, o b2) trabalhasse com postgresql. Em alguns casos onde a consulta era feita usando uma sintaxe particular de SQL do MySQL, mas que era possível ser escrita de uma forma com o padrão ANSI, eu o fiz (a maioria dos casos, coisas como SELECT YEAR(campo) versus SELECT EXTRACT(year from campo) as YEAR) . Mas tem muitas coisas amarradas demais ao MySQL, a melhor forma de ter um suporte nesses sistemas seria um fork, ou uma total reescrita da parte dos dados. Grato pela resposta. Resumo da opera, tem que ser Mysql, até que um dia, eles resolvar fazer o sistema 100% abstrato. -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] SAIR DO GRUPO
2009/6/29 Marcos Barbosa omnia_vin...@msn.com: COMO FAÇO PARA SAIR DO GRUPO ? Grato; Marcos. Os meios normais não funcionou??? https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Lá em baixo: Para se desinscrever de pgbr-geral, pegue o lembrete de senha ou modifique suas opções de inscrição entre com seu endereço de email de inscrição: Caso deixar o campo em branco, será requisitado seu endereço de email -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Php + PostgreSQL
On Thu, Jun 18, 2009 at 4:04 PM, Ralf Schlindweinralfoa...@gmail.com wrote: Alguem usa o PostgreSQL com PHP ??? Sim Sds Ralf -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Php + PostgreSQL
On Thu, Jun 18, 2009 at 4:16 PM, Ralf Schlindweinralfoa...@gmail.com wrote: Tens algum tutorial de como eu inicio as configuraçoes? Abraço Entre os milhões da net, segue um http://imasters.uol.com.br/artigo/2099/postgresql/integrando_postgresql_com_php/ Se vocẽ quer realmente ser ajudado, poderia ser mais objetivo, tipo o que vc já fez, ou qual erro esta tendo. -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Duvidas OID
2009/6/5 Osvaldo Kussama osvaldo.kuss...@gmail.com Se for na mesma conexão considere o uso da cláusula RETURNING do camando INSERT. http://www.postgresql.org/docs/current/interactive/sql-insert.html De uma forma geral é provável que um campo timestamp com default CURRENT_TIMESTAMP em sua(s) tabela(s) atenda suas necessidades. Como já foi dito quando sua instalação consumir cerca de 4GB oids ele retornará para o início, isto é, não se pode garantir que o último insert realizado tenha o maior oid. Osvaldo Osvaldo, Já falamos a respeito deste assunto. E a sua ideia para o CURRENT_TIMESTAMP, realmente se torna bem mais agradavel do que OID. Mas no caso gostaria de abusar um pouco da vontade dos amigos. Seria possivel utilizar o CURRENT_TIMESTAMP, como padrão do campo, mas eliminando os pontos, traços e espaço. Algo do tipo: arb_id limpacampo(CURRENT_TIMESTAMP) NOT NULL, -- Identificador do Registro Ou teria que criar uma trigger?? -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Duvidas OID
2009/6/5 Osvaldo Kussama osvaldo.kuss...@gmail.com Não entendi sua questão. O tipo de dado do CURRENT_TIMESTAMP é timestamp, veja: http://www.postgresql.org/docs/current/interactive/datatype-datetime.html Ele ocupa 8 bytes e é uma data juliana. Talvez você esteja confundindo a forma de armazenamento com a forma de exibição. Pontos, traços e espaços só existem na forma de exibição, não existem no dado armazenado em seu banco. Osvaldo ___ Devo estar confundindo mesmo, mas quando dou um select ou mesmo no pgAdmin mando abrir o banco ele me retorna: 2009-06-05 12:43:58.019381 Eu gostaria que esta informação não tivesse os traços, ponto e espaço, quando eu requisitasse o conteudo. -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Duvidas OID
2009/6/5 JotaComm jota.c...@gmail.com Olá, Para isso você pode usar a função to_char: SELECT current_timestamp,to_char(current_timestamp,'MMDDHHMISS'); Eu não estou em casa agora para testar, mas como ficaria o restante dos dados?? 2009-06-05 12:43:58*.019381 * -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Duvidas OID
2009/6/5 JotaComm jota.c...@gmail.com Olá, Neste exemplo eu removi, mas se quiseres utiliza-lo basta como US no final, depois do SS. Por exemplo: SELECT current_timestamp,to_char(current_timestamp,'MMDDHHMISSUS'); Legal, chegando em casa vou testar. No caso posso criar um trigger no before insert e gravar to_char(current_timestamp,'MMDDHHMISSUS') Pq se eu não já gravar sem a pontuação, vai ficar ruim manipular depois. -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Duvidas OID
2009/6/5 Osvaldo Kussama osvaldo.kuss...@gmail.com 2009/6/5 Nilson Chagas nilson.chagas.si...@gmail.com: 2009/6/5 JotaComm jota.c...@gmail.com Olá, Neste exemplo eu removi, mas se quiseres utiliza-lo basta como US no final, depois do SS. Por exemplo: SELECT current_timestamp,to_char(current_timestamp,'MMDDHHMISSUS'); Legal, chegando em casa vou testar. No caso posso criar um trigger no before insert e gravar to_char(current_timestamp,'MMDDHHMISSUS') Pq se eu não já gravar sem a pontuação, vai ficar ruim manipular depois. NÃO! O PostgreSQL não grava esta string em seu banco. Ele grava um campo de 8 bytes contendo o número de microssegundos que seu instante de tempo dista de meia-noite de 01 de janeiro de 2000 (se for negativo é anterior, se positivo posterior). Você exibe este dado ou da forma padrão - definida no parâmetro de configuração DateStyle - ou da forma que quiser utilizando a função to_char. Esta é apenas uma questão de exibição do dado armazenado isto é, como converter aquele dado em uma string legível por humanos. Por analogia imagine o conteúdo de um byte. Eu posso exibi-lo como um número decimal, um número binário ou um número hexadecimal. O conteúdo é o mesmo apenas a forma de exibição é diferente. Osvaldo rsrsrsrs É a preguiça de ficar lembrando de usar o to_char. rsrsrs Mas ainda é melhor do que ficar mudando a configuração de todo o banco, mais garantido. Já peguei a idéia, vou colocar em pratica. Neste caso é só informar o current_timestamp como default do campo, sem precisar gastar linhas com trigger. -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Versão 8.2.7
2009/6/3 Euler Taveira de Oliveira eu...@timbira.com Nilson Chagas escreveu: Estou procurando esta versão (8.2.7), para que posso desenvolver o projeto com a mesma versão que esta no host. Você pode encontrá-la em [1]. Mas eu utilizaria a última versão da série 8.2 (atualmente 8.2.13) pois ela contém uma série de correções. Nada é adicionado ou removido entre a versão 8.2.x e 8.2.y; somente bugs são corrigidos. Eu também sugeriria o _host_ a atualizar a versão pois *não* é necessário um _dump_/_restore_; somente atualização dos binários. [1] ftp://ftp-archives.postgresql.org/pub/source/v8.2.7/ Obrigado a todos. -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] problema com acentos no UTF8
Mas para isto o banco não tem que estar com Latin ou Unicode??? (sou leigo no assunto) -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico 2009/6/3 josemario rosa josemario.r...@ibest.com.br cara isto e uma lacuna a ser preenchida no postgre. ja tive este problema e nao tem como resolver eu achoatt mario 2009/6/3 Leandro Müller leandr...@muriki.com.br Ola turma. Sou novo nesta lista, nesses últimos meses estou migrando uma base de dados de 4gb para postgresql 8.3.7, utilizávamos mysql na empresa, mas ficou muito lento devido a complexidade de relatórios e diversos recursos que precisamos agora. Bom o único problema que tivemos com o banco de dados é quanto a pesquisa com ilike em palavras com acentos. Exemplo: Select nome from cliente where nome ilike ‘joao%’; O João não lista, fiz testes com a versão 8.4 e o mesmo ocorre, esse banco esta na codificação UTF8 Tentei criar um banco como latin1 porem o post não aceita criar. Alguém tem idéia de que tipo configuração devo fazer para fazer pesquisas com acento? Agradeço. *At.* *Leandro Müller* *Analista de Sistemas *** ___ 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] problema com acentos no UTF8
2009/6/3 Osvaldo Kussama osvaldo.kuss...@gmail.com 2009/6/3 Leandro Müller leandr...@muriki.com.br: Sou novo nesta lista, nesses últimos meses estou migrando uma base de dados de 4gb para postgresql 8.3.7, utilizávamos mysql na empresa, mas ficou muito lento devido a complexidade de relatórios e diversos recursos que precisamos agora. Seja bem vindo! Bom o único problema que tivemos com o banco de dados é quanto a pesquisa com ilike em palavras com acentos. Exemplo: Select nome from cliente where nome ilike ‘joao%’; O João não lista, fiz testes com a versão 8.4 e o mesmo ocorre, esse banco esta na codificação UTF8 Sim João é diferente de Joao e também diferente de joão, JOÃO e joao. Tentei criar um banco como latin1 porem o post não aceita criar. Você não pode mudar mas ele aceita criar (vide initdb) mas tem que ser compatível com o locale de seu S.O. Alguém tem idéia de que tipo configuração devo fazer para fazer pesquisas com acento? Quando o encoding é LATIN1, LATIN2, LATIN9 ou WIN1250 podemos usar a função to_ascii: http://www.postgresql.org/docs/current/interactive/functions-string.html Quando se utiliza o UTF8 o pessoal tem utilizado uma função de conversão como esta: CREATE FUNCTION sem_acento(text) RETURNS text AS $$ SELECT translate($1,'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ', 'aiiioAIIIOcC'); $$ LANGUAGE sql IMMUTABLE STRICT; Ficaria assim: SELECT nome FROM cliente WHERE sem_acento(nome) ilike sem_acento(‘joao%’); Caso faça uso intensivo desta query considere a criação de um índice funcional para melhorar a performance. Osvaldo O Hostmaster, criou o banco do site que estou trabalhando com Latin1 (versão 8.2.7). E lá utilizo o indice e pesquisa como lower(to_ascii(campo)) e consigo pesquisar de tudo que é jeito. A algum problema com o metodo utilizado??? -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Versão 8.2.7
Pessoal, Estou procurando esta versão (8.2.7), para que posso desenvolver o projeto com a mesma versão que esta no host. Mas não estou encontrando. Alguém pode me ajudar. Estou usando o ubuntu 9.04 -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Auto Relacionamento
2009/5/12 Jean Domingues ejdom...@yahoo.com.br Eu já fiz um sistema gerando um novo registro com o valor remanescente na mesma tabela, e ja fiz com uma tabela filha (baixas). O primeiro modelo foi um tiro no pé. Deu muito trabalho pra fazer relatorios, por exemplo. Por exemplo, fazer um estorno, vc tem que ficar varrendo a thread de parcelas, e por ai vai. Não entendi a dificuldade em se ter a tabela pai e as tabelas filhas, principalmente se utilizar um identificador da tabela pai. Espeficamente sobre este caso, que foi aberto a tread, pode ser quando se trabalha com emissão de boletos. Aqui no escritorio no ERP (RM), eles te uma tabela para fazer estes vinculos, mas não usa um auto relacionamento. Acredito que para se ter um auto relacionamento, teria que fazer como um amigo aqui já sugeriu, se ter mais entidades vinculadas a pai. O Anderson mencionou sobre algo muito interessante, mas com relação a baixa não é problema, o maior problema fica entorno da tabela pai mesmo, principalmente se você tem duplicatas. -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Arredondamento pg do PHP
Pq vc já não faz as contas toda na própria sentença?? Mesmo a detalhada. 2009/4/8 sergio santos sergio.serginhos...@gmail.com Entendi... mais o meu problema continua rs eu tenho dois relatórios que buscam os mesmos valores no banco de dados... só que um é todo detalhado, por isso prociso fazer as contas em PHP, já o outro é todo sumarizado e então eu faço as contas na própria SQL. logo eu tenho os seguintes valores no banco de dados: liquido = 167.69; valor_comissao = 0.5; valor_comissao_receber = 1; numparc = 10; numparc_pg = 1; em PHP eu faço as contas assim: $a = round($liquido*$valor_comissao,2); $b = round($a*$valor_comissao_receber,2); $c = round($b/$numparc,2); $d = round($c*$numparc_pg,2); echo round($d,2); vai retornar 8.39 no SQL eu faço as contas assim: SELECT (ROUNDvalor_liquido*valor_comissao*valor_comissao_receber)/numparc)*numparc_pg),2)) FROM ... vai retornar 8.38 já tentei fazer um monte de coisas e tudo tá dando errado... alguém tem alguma idéia pra poder me ajudar. abraços 2009/4/8 Luigi Castro Cardeles luigi.carde...@gmail.com Sim e não :) Se você está trabalhando com matemática de ponto flutuante esse é um resultado possível. Arredondando somente no fim: 2,34 * 8,67 = 20,2878 ~ 20,29 se você arredondar individualmente: 2,34 ~ 2,3 8,67 ~ 8,7 2,3 * 8,7 = 20,01 []'s Luigi Castro Cardeles 2009/4/8 sergio santos sergio.serginhos...@gmail.com Pessoal vejam bem essas são minhas variáveis: $liquido = 115.71; $valor_comissao = 0.5; $valor_comissao_receber = 1; $numparc = 7; $numparc_pg = 1; Quando eu faço assim: round((($liquido*$valor_comissao*$valor_comissao_receber)/$numparc)*$numparc_pg,2); o resultaod é 8.26 ou seja, diferente do arredondamento no PostgreSQL já quando eu faço passo a passo, ele me retorna o mesmo valor que o PostgreSQL está retornando $a = round($liquido*$valor_comissao,2); $b = round($a*$valor_comissao_receber,2); $c = round($b/$numparc,2); $d = round($c*$numparc_pg,2); echo round($d,2); estranho 2009/4/8 Osvaldo Kussama osvaldo.kuss...@gmail.com Em 08/04/09, Osvaldo Kussamaosvaldo.kuss...@gmail.com escreveu: Em 08/04/09, sergio santossergio.serginhos...@gmail.com escreveu: Pessoal o arredondamento od PosgreSQL funciona assim: 8.265 = 2.27 e o do PHP é assim: 8.265 = 2.26 tem uma forma de eu forçar o PosgreSQL a arredondar igual ao PHP? Em primeiro lugar eu duvido que tanto o PostgreSQL quanto o PHP façam o arredondamento acima descrito. Agora se você estiver falando de 8.265 = 8.26, bem isto é o que se espera, matematicamente falando. Ooops! Queria dizer na frase acima: 8.265 = 8.27 Creio que o PHP também não faz da forma como você descreveu, veja o manua (particularmente os 2 últimos exemplos)l: ?php echo round(3.4); // 3 echo round(3.5); // 4 echo round(3.6); // 4 echo round(3.6, 0); // 4 echo round(1.95583, 2); // 1.96 echo round(1241757, -3); // 1242000 echo round(5.045, 2);// 5.05 echo round(5.055, 2);// 5.06 ? http://br.php.net/round Mas você sempre pode criar sua própria função de arredondamento. Osvaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Sérgio Antônio dos Santos Bacharel em Sistemas de Informação (31) 8573-7004 ___ 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érgio Antônio dos Santos Bacharel em Sistemas de Informação (31) 8573-7004 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Arredondamento pg do PHP
Não tem como vc postar sua sentença sql detalhada?? Ainda não vi problema, SUM E GROUP BY?? Não vejo problema mesmo. 2009/4/8 sergio santos sergio.serginhos...@gmail.com Olá Nilson Além do ROUND eu andia faço um SUM e acrescento um GROUP BY no final... por isso não posso fazer dessa forma. sobre o que o Luigi falou eu já tentei fazer assim usando a mesma metodologia nas duas consultas.. só que quando o valor muda, segue outro exemplo, dá tudo errado de novo: vejam: liquido = 115.71; valor_comissao = 0.5; valor_comissao_receber = 1; numparc = 7; numparc_pg = 1; no PHP echo round((($liquido*$valor_comissao*$valor_comissao_receber)/$numparc)*$numparc_pg,2); vai retornar 8.26 já no SQL (ROUNDvalor_liquido*valor_comissao*valor_comissao_receber)/numparc)*numparc_pg),2)) vai retornar 8.27 obrigado pessoal 2009/4/8 Nilson Chagas nilson.chagas.si...@gmail.com Pq vc já não faz as contas toda na própria sentença?? Mesmo a detalhada. 2009/4/8 sergio santos sergio.serginhos...@gmail.com Entendi... mais o meu problema continua rs eu tenho dois relatórios que buscam os mesmos valores no banco de dados... só que um é todo detalhado, por isso prociso fazer as contas em PHP, já o outro é todo sumarizado e então eu faço as contas na própria SQL. logo eu tenho os seguintes valores no banco de dados: liquido = 167.69; valor_comissao = 0.5; valor_comissao_receber = 1; numparc = 10; numparc_pg = 1; em PHP eu faço as contas assim: $a = round($liquido*$valor_comissao,2); $b = round($a*$valor_comissao_receber,2); $c = round($b/$numparc,2); $d = round($c*$numparc_pg,2); echo round($d,2); vai retornar 8.39 no SQL eu faço as contas assim: SELECT (ROUNDvalor_liquido*valor_comissao*valor_comissao_receber)/numparc)*numparc_pg),2)) FROM ... vai retornar 8.38 já tentei fazer um monte de coisas e tudo tá dando errado... alguém tem alguma idéia pra poder me ajudar. abraços 2009/4/8 Luigi Castro Cardeles luigi.carde...@gmail.com Sim e não :) Se você está trabalhando com matemática de ponto flutuante esse é um resultado possível. Arredondando somente no fim: 2,34 * 8,67 = 20,2878 ~ 20,29 se você arredondar individualmente: 2,34 ~ 2,3 8,67 ~ 8,7 2,3 * 8,7 = 20,01 []'s Luigi Castro Cardeles 2009/4/8 sergio santos sergio.serginhos...@gmail.com Pessoal vejam bem essas são minhas variáveis: $liquido = 115.71; $valor_comissao = 0.5; $valor_comissao_receber = 1; $numparc = 7; $numparc_pg = 1; Quando eu faço assim: round((($liquido*$valor_comissao*$valor_comissao_receber)/$numparc)*$numparc_pg,2); o resultaod é 8.26 ou seja, diferente do arredondamento no PostgreSQL já quando eu faço passo a passo, ele me retorna o mesmo valor que o PostgreSQL está retornando $a = round($liquido*$valor_comissao,2); $b = round($a*$valor_comissao_receber,2); $c = round($b/$numparc,2); $d = round($c*$numparc_pg,2); echo round($d,2); estranho 2009/4/8 Osvaldo Kussama osvaldo.kuss...@gmail.com Em 08/04/09, Osvaldo Kussamaosvaldo.kuss...@gmail.com escreveu: Em 08/04/09, sergio santossergio.serginhos...@gmail.com escreveu: Pessoal o arredondamento od PosgreSQL funciona assim: 8.265 = 2.27 e o do PHP é assim: 8.265 = 2.26 tem uma forma de eu forçar o PosgreSQL a arredondar igual ao PHP? Em primeiro lugar eu duvido que tanto o PostgreSQL quanto o PHP façam o arredondamento acima descrito. Agora se você estiver falando de 8.265 = 8.26, bem isto é o que se espera, matematicamente falando. Ooops! Queria dizer na frase acima: 8.265 = 8.27 Creio que o PHP também não faz da forma como você descreveu, veja o manua (particularmente os 2 últimos exemplos)l: ?php echo round(3.4); // 3 echo round(3.5); // 4 echo round(3.6); // 4 echo round(3.6, 0); // 4 echo round(1.95583, 2); // 1.96 echo round(1241757, -3); // 1242000 echo round(5.045, 2);// 5.05 echo round(5.055, 2);// 5.06 ? http://br.php.net/round Mas você sempre pode criar sua própria função de arredondamento. Osvaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Sérgio Antônio dos Santos Bacharel em Sistemas de Informação (31) 8573-7004 ___ 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érgio Antônio dos Santos Bacharel em Sistemas de Informação (31) 8573-7004 ___ pgbr-geral mailing list pgbr-geral
[pgbr-geral] Rotinas que devem ser executadas no banco
Estava confiante que host do site, fosse cuidar do banco de dados. Mas ao perguntar sobre as rotinas do banco como vacuum, ele falow que era só eu pedir que ele agendava. Agora fiquei meio vendido. Que rotinas, fora backup, é necessário fazer no banco e qual a periodicidade??? []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Rotinas que devem ser executadas no banco
Blz, Mas esperava que alguém passasse um experiência pessoal com estas rotinas. Pq por vzs já vi neste grupo, pessoas que tem experências diferentes, talvez uma rotina que vc rode uma vez por seman, alguém por algum problema, ou melhor solução, precisou rodar todos os dias, ou até mesmo a cada x minutos. []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico On Fri, Feb 20, 2009 at 11:45 AM, Osvaldo Kussama osvaldo.kuss...@gmail.com wrote: 2009/2/20 Nilson Chagas nilson.chagas.si...@gmail.com: Estava confiante que host do site, fosse cuidar do banco de dados. Mas ao perguntar sobre as rotinas do banco como vacuum, ele falow que era só eu pedir que ele agendava. Agora fiquei meio vendido. Que rotinas, fora backup, é necessário fazer no banco e qual a periodicidade??? Comece por aqui: http://www.postgresql.org/docs/current/interactive/maintenance.html Osvaldo ___ 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] Rotinas que devem ser executadas no banco
Como respondi para o SWC, entendi o tamando da demanda. E não descarto contratar um DBA, visto que é um site que tem a mesma quantidade de pageviews que a VEJA. []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico 2009/2/20 Fábio Telles Rodriguez fabio.tel...@gmail.com 2009/2/20 Nilson Chagas nilson.chagas.si...@gmail.com: Blz, Mas esperava que alguém passasse um experiência pessoal com estas rotinas. Pq por vzs já vi neste grupo, pessoas que tem experências diferentes, talvez uma rotina que vc rode uma vez por seman, alguém por algum problema, ou melhor solução, precisou rodar todos os dias, ou até mesmo a cada x minutos. Resposta de consultor: DEPENDE! Manter um banco de dados é como manter um carro... depende de como você dirige, o quanto anda, o combustível que usa, etc, etc, etc. Se estiver a partir do PostgreSQL 8.2, use o Autovacuum. Se ainda estiver na dúvida, e ainda assim não quiser ler a documentação... melhor contratar um DBA. []s []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico On Fri, Feb 20, 2009 at 11:45 AM, Osvaldo Kussama osvaldo.kuss...@gmail.com wrote: 2009/2/20 Nilson Chagas nilson.chagas.si...@gmail.com: Estava confiante que host do site, fosse cuidar do banco de dados. Mas ao perguntar sobre as rotinas do banco como vacuum, ele falow que era só eu pedir que ele agendava. Agora fiquei meio vendido. Que rotinas, fora backup, é necessário fazer no banco e qual a periodicidade??? Comece por aqui: http://www.postgresql.org/docs/current/interactive/maintenance.html Osvaldo ___ 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 -- blog: http://www.midstorm.org/~telles/ e-mail http://www.midstorm.org/%7Etelles/%0Ae-mail / jabber: fabio.tel...@gmail.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] Rotinas que devem ser executadas no banco
Na verdade não foi feito isto. O Host disponibilizou o banco de dados para eu modelar, achei que ele ia administrar o banco, no sentido de performance e tal. O site atual esta em Mysql, imagina o apuro que tenho passado. E estamos migrando para o postgresql... acabei de mandar uma mensagem para o host indicar alguém que possa fazer um levantamento da demanda do banco. Pq se ele não se preocupou com as rotinas do banco, não deve ter se preocupado com as configurações tb. TENSO, fiquei com medo. []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico 2009/2/20 Fábio Telles Rodriguez fabio.tel...@gmail.com 2009/2/20 Nilson Chagas nilson.chagas.si...@gmail.com: Como respondi para o SWC, entendi o tamando da demanda. E não descarto contratar um DBA, visto que é um site que tem a mesma quantidade de pageviews que a VEJA. Então... se você tem um projeto pesado, vocês já deviam ter feito isso. Se você se preocupar com seu banco de dados da mesma forma que se preocupa com uma caixa de sapatos, vai ter um resultado desastroso. Quem já viu o filme sabe. []s []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico 2009/2/20 Fábio Telles Rodriguez fabio.tel...@gmail.com 2009/2/20 Nilson Chagas nilson.chagas.si...@gmail.com: Blz, Mas esperava que alguém passasse um experiência pessoal com estas rotinas. Pq por vzs já vi neste grupo, pessoas que tem experências diferentes, talvez uma rotina que vc rode uma vez por seman, alguém por algum problema, ou melhor solução, precisou rodar todos os dias, ou até mesmo a cada x minutos. Resposta de consultor: DEPENDE! Manter um banco de dados é como manter um carro... depende de como você dirige, o quanto anda, o combustível que usa, etc, etc, etc. Se estiver a partir do PostgreSQL 8.2, use o Autovacuum. Se ainda estiver na dúvida, e ainda assim não quiser ler a documentação... melhor contratar um DBA. []s []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico On Fri, Feb 20, 2009 at 11:45 AM, Osvaldo Kussama osvaldo.kuss...@gmail.com wrote: 2009/2/20 Nilson Chagas nilson.chagas.si...@gmail.com: Estava confiante que host do site, fosse cuidar do banco de dados. Mas ao perguntar sobre as rotinas do banco como vacuum, ele falow que era só eu pedir que ele agendava. Agora fiquei meio vendido. Que rotinas, fora backup, é necessário fazer no banco e qual a periodicidade??? Comece por aqui: http://www.postgresql.org/docs/current/interactive/maintenance.html Osvaldo ___ 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 -- blog: http://www.midstorm.org/~telles/http://www.midstorm.org/%7Etelles/ e-mail / jabber: fabio.tel...@gmail.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 -- blog: http://www.midstorm.org/~telles/ e-mail http://www.midstorm.org/%7Etelles/%0Ae-mail / jabber: fabio.tel...@gmail.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] Paginação
Vc tá programando em que Terminei hoje uma classe em PHP, para fazer paginação. A unica coisa que não consegui eliminar ainda é o count(*) para saber a quantidade total de registros. Mas eu passo a pagina atual e a quantidade de registros por pagina, e monto o select assim: limit (qtd_registros_por_pagina) offset ( (pagina-1)*qtd_registros_por_pagina) []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico 2009/2/18 sergio santos sergio.serginhos...@gmail.com Veja bem pessoal, se eu usar o limit o método RecordCount do Adodb vai me retornar o valor limit e não o número de registro. Sendo assim, como estou fazendo uma paginação, vai ficar difícil saber o número de páginas vou ter o que vocês acham? 2009/2/18 José Mello Júnior jose.mello.jun...@gmail.com Endendo que a questão está muito mais para a ótica de um aplicativo do que para o SGBD, mas aproveitando esta dúvida eu gostaria de perguntar o seguinte: em um caso como esse, é mais fácil (ou dinâmico) a manipulação de um cursor, onde o postgres se preocupa com o dimensionamento do resultado ou utilizando LIMIT e OFFSET as consultas são de alguma forma otimizadas? []´s 2009/2/18 Osvaldo Kussama osvaldo.kuss...@gmail.com 2009/2/18 sergio santos sergio.serginhos...@gmail.com: tô me referindo a paginação em SQL exemplo: se minha consulta retornar 1000 registros tenho que passar um parâmetro para o banco informando que quero exibir somente os registros entre 150 e 200 ou seja, serão exibidos 50 registro, isso de forma dinâmica fazendo com que a minha consulta sql faça uma paginação. Então, reafirmando o que Jota já havia dito, utilize as cláusulas LIMIT e OFFSET do SELECT. http://www.postgresql.org/docs/current/interactive/sql-select.html Para o seu exemplo: SELECT * FROM sua_tabela OFFSET 150 LIMIT 50 ORDER BY x; Para variar o OFFSET ou faça isso em sua aplicação ou crie uma função em que o valor do offset seja o parâmetro ou utilize um PREPARE/EXECUTE: http://www.postgresql.org/docs/current/interactive/sql-prepare.html Osvaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- José de Mello Júnior 41.9957-2007 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Sérgio Antônio dos Santos Bacharel em Sistemas de Informação (31) 8573-7004 ### Vem aí... SEARA 2009 21 a 24 de Fevereiro - Campus da UFV - Viçosa - MG Alcancei misericórdia e a graça do Senhor foi imensa. (ITm 1, 13b, 14a) ___ 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] Paginação
Puxa vou ler sobre. []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico 2009/2/18 Dickson S. Guedes lis...@guedesoft.net 2009/2/18 sergio santos sergio.serginhos...@gmail.com: Veja bem pessoal, se eu usar o limit o método RecordCount do Adodb vai me retornar o valor limit e não o número de registro. Sendo assim, como estou fazendo uma paginação, vai ficar difícil saber o número de páginas vou ter o que vocês acham? Ola Sergio, Você precisa saber *exatamente* quantas paginas darão? Uma estimativa (assim como o Google faz) já não ajudaria? Dependendo do tamanho desta sua tabela você pode aproveitar as estatísticas do banco, ao invés de fazer um count(*) para saber o total de registros e paginar. Faça um teste de exemplo em uma *base de teste*: CREATE TABLE temp (a int); INSERT INTO temp SELECT generate_series(1,10); SELECT pg_stat_get_live_tuples(oid) from pg_class where relname = 'temp'; ANALYZE temp; SELECT pg_stat_get_live_tuples(oid) from pg_class where relname = 'temp'; INSERT INTO temp SELECT generate_series(1,2); SELECT count(*) from temp; ANALYZE temp; SELECT pg_stat_get_live_tuples(oid) from pg_class where relname = 'temp'; SELECT pg_stat_get_live_tuples(oid) from pg_class where relname = 'temp'; SELECT pg_stat_get_live_tuples(oid) from pg_class where relname = 'temp'; SELECT count(*) from temp; DROP TABLE temp; Veja como os resultados podem variar no caso do count a medida que o volume de dados vai crescendo. Obviamente o script acima não contem a solução pronta, é apenas uma demonstração de que é possível trabalhar com estimativas ao invés de exatos, em determinadas situações. Para se aprofundar, leia: http://www.postgresql.org/docs/current/static/monitoring-stats.html Dickson S. Guedes - mail/xmpp: gue...@guedesoft.net - skype: guediz http://guedesoft.net - http://planeta.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
[pgbr-geral] Ajuda modelar tabela de Enquete
pessoal, Já vi algumas coisas sobre, mas não me agradou muito. Preciso implementar uma enquete no site, e estava pensando em ter algo assim: Tabela enquete: codigo - código para enquete data - Data da enquete pergunta - pergunta da enquete Tabela itens_enquete: codigo - codigo da enquete sequencia - sequencial das opções descriçao - descrição da opção de escolha Tabela escolha_enquete: Codigo - codigo da enquete respondida sequencia - sequencial respondido usuario - usuario que respondeu Só lembrando que não são nomes definitivos, é apenas para se ter uma ideia Acredito que assim, não limito a enquente em X opções e vai ficar mais facil chamar as opções na tela, é só percorrer a tabela de itens. Depois posso buscar o percentual e quantidade, de acordo com a tabela de escolha. O que acham?? []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Ajuda modelar tabela de Enquete
Realmente, e a sua ideia foi no ponto, esqueci deste detalhe de ter varias pessoas acessando o resultado da tabela. O que vc de uma materialize view para ter os totais??? []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico 2009/2/17 Pablo Sánchez phack...@gmail.com O Lime Survey tem um objetivo muito mais amplo, com muitos mais tipos de campos, pode ser que não se aplique às necessidades dele. Em 17/02/09, Fabricio Tellesfabricio.tel...@gmail.com escreveu: Já tentou http://www.limesurvey.org ? suporta postgreSQL 2009/2/17 Nilson Chagas nilson.chagas.si...@gmail.com pessoal, Já vi algumas coisas sobre, mas não me agradou muito. Preciso implementar uma enquete no site, e estava pensando em ter algo assim: Tabela enquete: codigo - código para enquete data - Data da enquete pergunta - pergunta da enquete Tabela itens_enquete: codigo - codigo da enquete sequencia - sequencial das opções descriçao - descrição da opção de escolha Tabela escolha_enquete: Codigo - codigo da enquete respondida sequencia - sequencial respondido usuario - usuario que respondeu Só lembrando que não são nomes definitivos, é apenas para se ter uma ideia Acredito que assim, não limito a enquente em X opções e vai ficar mais facil chamar as opções na tela, é só percorrer a tabela de itens. Depois posso buscar o percentual e quantidade, de acordo com a tabela de escolha. O que acham?? []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico ___ 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 -- = Pablo Santiago Sánchez Análise e Desenvolvimento de Sistemas Web Zend Certified Engineer #ZEND006757 phack...@gmail.com (61) 9975-0883 http://www.corephp.com.br Quidquid latine dictum sit, altum viditur = ___ 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] Ajuda modelar tabela de Enquete
As pageviews do site é um pouco mais que esta que vc passou. Pensei em Materialize view por trazer algo pronto. Mas para efeito de otimização, poderia manter na materialize só a enquete atual. E na tabela o resultado final das enquetes anteriores. Acredito que ficaria melhor. []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico 2009/2/17 Pablo Sánchez phack...@gmail.com Acho que já resolveria bastante do seu problema, mas manter os dados consolidados pode ser ainda melhor, porque a view não recebe parâmetro como o ID da query que ele quer (mas o select na view sim...). A diferença de performance deve ser pequena, mas vai estar lá. Se estamos falando de enquetes semanais em um site com 100.000 acessos diários, qualquer otimização é bem vinda Em 17/02/09, Nilson Chagasnilson.chagas.si...@gmail.com escreveu: Realmente, e a sua ideia foi no ponto, esqueci deste detalhe de ter varias pessoas acessando o resultado da tabela. O que vc de uma materialize view para ter os totais??? []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico 2009/2/17 Pablo Sánchez phack...@gmail.com O Lime Survey tem um objetivo muito mais amplo, com muitos mais tipos de campos, pode ser que não se aplique às necessidades dele. Em 17/02/09, Fabricio Tellesfabricio.tel...@gmail.com escreveu: Já tentou http://www.limesurvey.org ? suporta postgreSQL 2009/2/17 Nilson Chagas nilson.chagas.si...@gmail.com pessoal, Já vi algumas coisas sobre, mas não me agradou muito. Preciso implementar uma enquete no site, e estava pensando em ter algo assim: Tabela enquete: codigo - código para enquete data - Data da enquete pergunta - pergunta da enquete Tabela itens_enquete: codigo - codigo da enquete sequencia - sequencial das opções descriçao - descrição da opção de escolha Tabela escolha_enquete: Codigo - codigo da enquete respondida sequencia - sequencial respondido usuario - usuario que respondeu Só lembrando que não são nomes definitivos, é apenas para se ter uma ideia Acredito que assim, não limito a enquente em X opções e vai ficar mais facil chamar as opções na tela, é só percorrer a tabela de itens. Depois posso buscar o percentual e quantidade, de acordo com a tabela de escolha. O que acham?? []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico ___ 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 -- = Pablo Santiago Sánchez Análise e Desenvolvimento de Sistemas Web Zend Certified Engineer #ZEND006757 phack...@gmail.com (61) 9975-0883 http://www.corephp.com.br Quidquid latine dictum sit, altum viditur = ___ 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 -- = Pablo Santiago Sánchez Análise e Desenvolvimento de Sistemas Web Zend Certified Engineer #ZEND006757 phack...@gmail.com (61) 9975-0883 http://www.corephp.com.br Quidquid latine dictum sit, altum viditur = ___ 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] Ajuda modelar tabela de Enquete
Sei não... O que ele faz... executa uma view, que alimenta esta tabela (que faria o papel da view materializada). é o tempo de gravar a informação, montar a view com o resultado atual da enquete, e alimentar a tabela. Apesar que se eu for manter a view só com a enquete atual, tenho que fazer um teste o que seria melhor. Entre fazer um select somando o resulado da enquete atual, e um view, é preferivel ter um view, correto?? []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico 2009/2/17 Osvaldo Kussama osvaldo.kuss...@gmail.com 2009/2/17 Nilson Chagas nilson.chagas.si...@gmail.com: Não oficialmente. rsrsrs Estou no escritório,não sei o link, mas em casa tenho um link muito interessante sobre. Utilizo uma function que cria uma tabela que simula a função da view materializada. Mas se você está preocupado com performance talvez não seja uma boa idéia. Osvaldo ___ 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] Ajuda modelar tabela de Enquete
Sim, mas estou falando de descartar a view materializada, visto que a ideia mudou para manter somente a enquete atual. E fazer um view com o resultado , ou dar um select normal na tabela, somando os resultados. Se na pratica o que é mais rapido um view?? ou uma select count?? Ou da na mesma?? Alias view não aceita parametros né... então seria melhor fazer um select count da enquete atual.. é isto? []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico On Tue, Feb 17, 2009 at 6:11 PM, Osvaldo Kussama osvaldo.kuss...@gmail.comwrote: 2009/2/17 Nilson Chagas nilson.chagas.si...@gmail.com: Sei não... O que ele faz... executa uma view, que alimenta esta tabela (que faria o papel da view materializada). é o tempo de gravar a informação, montar a view com o resultado atual da enquete, e alimentar a tabela. Apesar que se eu for manter a view só com a enquete atual, tenho que fazer um teste o que seria melhor. Entre fazer um select somando o resulado da enquete atual, e um view, é preferivel ter um view, correto?? Mas o que faz a view que alimenta a tabela? Não seria um select somando o resultado da enquete atual? Osvaldo ___ 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] Select Join em Historico de Status.
select distinct l.nom, l.data_entrada, s.nome from lancamentos l, status s, historico h where l.id_lancamento = h.id_lancamento and h.id_status = s.id_status and (s.id_status = id do pago or s.id_status = id do pendente) []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ 2009/2/3 Lucas Paz lucas...@gmail.com Olá, Vamos a duvida: tenho as tabelas LANCAMENTOS, HISTORICO_LANCAMENTOS e STATUS . LANCAMENTOS - PK(id_lancamento),nome,data_entrada e etc. STATUS - PK(id_status), nome HISTORICO_LANCAMENTOS - PK(id_hist_lancamento), FK(id_lancamento), FK(id_status), data, usuario e etc... Acontece o seguinte, na tabela Lancamentos tenho os dados dos contratos, na tabela STATUS apenas os status que podem existir de determinado contrato, na tabela HISTORICO_LANCAMENTOS tenho os historicos de alteração dos status do contrato. os status dos contratos são: PAGO, PENDENTE, FALTA ALGUMA COISA, ENVIADO e etc. Nem tudo são flores... 1 contrato pode ter mais de 1 status ao mesmo tempo, ou seja um contrato pode estar pendente e ser pago... até ai blz... O que preciso fazer é um select que pegue os contratos que por exemplo tenham os status PAGO e PENDENTE. Preciso retornar o mesmo apenas 1 vez. Atualmente controlo isso por flags, a cada mudança no historico eu mudo 1 flag na tabela LANCAMENTOS. Funciona, mais gostaria de algo mais automatico pois se acrescento 1 status tenho que criar novas flags alterar os triggers e etc... alguem tem alguma sugestão? att. -- Lucas Paz ___ 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] Ajuda para criar Store Procedure???
Pessoal, Desculpa vir a lista para fazer este pedido, mas tenho uma procedure em Oracle e preciso converter ela para Postgresql. Postgresql é uma linguagem que conheço pouco, estou usando o que já conheço de banco de dados (outros), para este novo projeto (que tem um responsavel para configura ele no servidor). Se não for abusar demais, conto com a compreensão e ajuda, se estou fazendo algo errado por favor desconsiderar a mensagem. Esta é a procedure em oracle (esta procedure está dentro de uma package no oracle, por isto ela não começa com create or replace): --== -- Insere / Atualiza dados do modulo --== --== procedure SP_ATUALIZA_MODULO(n_id_modulo in MODULO.ID_MODULO%TYPE, vc2_nom_modulo in MODULO.NOM_MODULO%TYPE, vc2_desc_modulo in MODULO.DES_MODULO%TYPE, n_erro out INTEGER, vc2_msg_erro out varchar2) is n_tem_modulo INTEGER; begin n_erro := 0; -- Modulo cadastrado com sucesso -- Novo modulo if (n_id_modulo= 0) then insert into MODULO (NOM_MODULO, DES_MODULO) values (vc2_nom_modulo, vc2_desc_modulo); -- Altera dados do modulo else select count(*) into n_tem_modulo from MODULO where ID_MODULO != n_id_modulo; if (n_tem_modulo = 0) then update MODULO set NOM_MODULO = vc2_nom_modulo, DES_MODULO = vc2_desc_modulo where ID_MODULO= n_id_modulo; n_erro := 3; -- Modulo atualizado com sucesso else n_erro := 2; -- Modulo ja existe end if; end if; commit; exception when others then rollback; NULL; n_erro := sqlcode; -- Erro ao cadastrar o modulo vc2_msg_erro := sqlerrm; END SP_ATUALIZA_MODULO; Desde já grato. -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.amados.com.br/podcast http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Recuperar Banco(Não é backup)
Pessoal, Encurtando a história, perdi o acesso a partição Linux, após a instalação do windows e não consigo recuperar o GRUB. Como foi algo bem inexperado, não havia ainda feito backup de um banco. E preciso realmente recuperar ele. Ainda tenho acesso a partição Linux, tem alguma maneira de copiar e recuperar este banco, pq vou ter que reinstalar o Linux. Obrigado. -- []s Nilson Chagas --- Visite: http://www.amados.com.br/podcast http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Recuperar Banco(Não é backup)
Esqueci de informar, estou com o Ubuntu 8.04. Cara, todas as dicas que tentei para recuperar o grub, falharam, peguei uma nova agora e vou fazer uma ultima tentativa. Estava tentando achar esta pasta pgsql, e não achei... não é dentro do /user ??? 2008/10/17 ..:: Rodrigo (-_-) Machado ::.. [EMAIL PROTECTED] Qual distribuiç~ao linux vc estava usando. Copie todos os arquivos da pasta data do pgsql, 'e bem provavel que vais poder recuperar sim seu banco.. Outra, porque vc nao recupera o grub.? 2008/10/17 Nilson Chagas [EMAIL PROTECTED] Pessoal, Encurtando a história, perdi o acesso a partição Linux, após a instalação do windows e não consigo recuperar o GRUB. Como foi algo bem inexperado, não havia ainda feito backup de um banco. E preciso realmente recuperar ele. Ainda tenho acesso a partição Linux, tem alguma maneira de copiar e recuperar este banco, pq vou ter que reinstalar o Linux. Obrigado. -- []s Nilson Chagas --- Visite: http://www.amados.com.br/podcast http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- *:-.,_,.-:*'``'*:-.,_,.-:*:-.,_,.-:*'``'*:-.,_,.-: :: Rodrigo Machado :: FlaRo Sistemas Linux User #338262 Lat S25º49'20.11' - Lon W55º07'12.05'' *:-.,_,.-:*'``'*:-.,_,.-:*:-.,_,.-:*'``'*:-.,_,.-: ___ 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] Recuperar Banco(Não é backup)
Consegui recuperar o grub... Mas não encontrei a pasta com o banco... de qualquer forma já fiz um backup. Obrigado. 2008/10/17 Nilson Chagas [EMAIL PROTECTED] Esqueci de informar, estou com o Ubuntu 8.04. Cara, todas as dicas que tentei para recuperar o grub, falharam, peguei uma nova agora e vou fazer uma ultima tentativa. Estava tentando achar esta pasta pgsql, e não achei... não é dentro do /user ??? 2008/10/17 ..:: Rodrigo (-_-) Machado ::.. [EMAIL PROTECTED] Qual distribuiç~ao linux vc estava usando. Copie todos os arquivos da pasta data do pgsql, 'e bem provavel que vais poder recuperar sim seu banco.. Outra, porque vc nao recupera o grub.? 2008/10/17 Nilson Chagas [EMAIL PROTECTED] Pessoal, Encurtando a história, perdi o acesso a partição Linux, após a instalação do windows e não consigo recuperar o GRUB. Como foi algo bem inexperado, não havia ainda feito backup de um banco. E preciso realmente recuperar ele. Ainda tenho acesso a partição Linux, tem alguma maneira de copiar e recuperar este banco, pq vou ter que reinstalar o Linux. Obrigado. -- []s Nilson Chagas --- Visite: http://www.amados.com.br/podcast http://tempodesalvacao.blogspot.com/ http://bbnradio.org/ ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- *:-.,_,.-:*'``'*:-.,_,.-:*:-.,_,.-:*'``'*:-.,_,.-: :: Rodrigo Machado :: FlaRo Sistemas Linux User #338262 Lat S25º49'20.11' - Lon W55º07'12.05'' *:-.,_,.-:*'``'*:-.,_,.-:*:-.,_,.-:*'``'*:-.,_,.-: ___ 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] Ajuda com campo sequencial
Uma coisa que me vem a duvida. Se eu não usar um ID, como o Dutra sugeriu, como eu ligo as subtabelas que conterão, os demais dados sobre o jogo?? Tudo bem criar uma PK com data + Hora, mas este ainda não é o meu problema e nem com o ID. Os campos sequencial dos jogos, e seguencial dos jogos daquele determinado adversário, são o meu problema. Como falei, estarão lançando jogos em decadas diferentes ao mesmo tempo, não tem como saber qual o numero daquele jogo. A unica maneira que pensei, foi após lançarem os jogos, fazer uma rotina que renumere os jogos. []s Nilson 2008/5/31 Johnny Taylor Faria Chaves [EMAIL PROTECTED]: Em Sunday 25 May 2008 15:49:30 Leandro DUTRA escreveu: ... Você quer que eu exclua o campo Data?? De onde você tirou isso? Apenas estou supondo que seja outra chave candidata, uma vez que me parece que você trabalha com jogos dum único time e provavelmente um time não jogará mais de um jogo no mesmo dia. Caso jogue, precisa incluir hora também na chave. Esta foi a minha idéia (PK = data+hora), após ele ter apresentado a estrutura da tabela, lembrando que há alguns anos houve vários jogos com o expressinho, não me lembro se houve jogos dos dois no mesmo dia, mas creio que sim. Mas se insistir em usar uma chave artificial, talvez seja mais fácil lançar tudo em uma tabela auxiliar, e depois inserir na definitiva. ... []'s -- Johnny Taylor Faria Chaves - LUN 157066 www.brdados.com.br - [EMAIL PROTECTED] Eu não posso mais, se você pode, doe sangue! ___ 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] Ajuda com campo sequencial
Blz, estamos nos entendendo. rsrsrs São dois campos sequenciais, eu pensei em um campo sequencial na visão, mas eu caio num problema. Mando selecionar, os jogos de 2008, SP x Palmeiras. O primeiro jogo da visão, vamos dizer que é o jogo 5000 do SP e o jogo 1000 contra o Palmeiras. Então não pode ser um campo sequencial na visão. 2008/5/31 Leandro DUTRA [EMAIL PROTECTED]: 2008/5/31 Nilson Chagas [EMAIL PROTECTED]: Se eu não usar um ID, como o Dutra sugeriu, como eu ligo as subtabelas que conterão, os demais dados sobre o jogo?? Com chaves estrangeiras naturais, nada demais. Os campos sequencial dos jogos, e seguencial dos jogos daquele determinado adversário, são o meu problema. Então são dois seqüenciais? Como falei, estarão lançando jogos em decadas diferentes ao mesmo tempo, não tem como saber qual o numero daquele jogo. A unica maneira que pensei, foi após lançarem os jogos, fazer uma rotina que renumere os jogos. Certo — e aí você percebe que seqüencial não é uma chave estável, e que talvez seja melhor que seja um campo calculado dinamicamente numa visão. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (11) 3040 7300 r155 gTalk: xmpp:[EMAIL PROTECTED][EMAIL PROTECTED] +55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803 +55 (11) 5685 2219 MSN: msnim:[EMAIL PROTECTED] ___ 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] Ajuda com campo sequencial
Deixa ver se entendi... faço uma view materializada do arquivo inteiro, e um campo calculando o sequencial dos jogos. Mas ainda fico na duvida de como contar o jogo daquela equipe, não estou conseguindo visualizar isto sem dar max(campo) where adversario=x 2008/5/31 Leandro DUTRA [EMAIL PROTECTED]: 2008/5/31 Nilson Chagas [EMAIL PROTECTED]: O primeiro jogo da visão, vamos dizer que é o jogo 5000 do SP e o jogo 1000 contra o Palmeiras. Então não pode ser um campo sequencial na visão. Pode ser uma visão materializada fundamentando essas consultas. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (11) 3040 7300 r155 gTalk: xmpp:[EMAIL PROTECTED][EMAIL PROTECTED] +55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803 +55 (11) 5685 2219 MSN: msnim:[EMAIL PROTECTED] ___ 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] Ajuda com campo sequencial
Seria muito, vamos dizer, chucro, criar uma tabela, com contadores??? Mas mesmo assim, eu teria que ter na primeira vez, ou seja, quando tudo tivesse lançado rodar um script para fazer a primeira contagem. 2008/5/31 Leandro DUTRA [EMAIL PROTECTED]: 2008/5/31 Nilson Chagas [EMAIL PROTECTED]: Deixa ver se entendi... faço uma view materializada do arquivo inteiro, e um campo calculando o sequencial dos jogos. Parece interessante? Foi idéia meio de repente. Mas ainda fico na duvida de como contar o jogo daquela equipe, não estou conseguindo visualizar isto sem dar max(campo) where adversario=x Deve ter como fazer um campo calculando por equipe numa visão (materializada ou não), mas minha cabeça já parou de funcionar. Alguém mais? -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (11) 3040 7300 r155 gTalk: xmpp:[EMAIL PROTECTED][EMAIL PROTECTED] +55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803 +55 (11) 5685 2219 MSN: msnim:[EMAIL PROTECTED] ___ 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] Ajuda com campo sequencial
Eu falei de ter uma tabela contador, por exemplo com ADVERSARIO, CONTADOR. E nos novos registros da tabela de jogos, pegaria o ultimo valor que estivesse na tabela contador. Isto para pegar o jogo daquele adversário. Vc falow de usar campos derivados, mas na primeira vez, realmente não vejo outra solução que não seja uma procedure contando os jogos. 2008/5/31 Leandro DUTRA [EMAIL PROTECTED]: 2008/5/31 Nilson Chagas [EMAIL PROTECTED]: Seria muito, vamos dizer, chucro, criar uma tabela, com contadores??? Não entendi. Mas mesmo assim, eu teria que ter na primeira vez, ou seja, quando tudo tivesse lançado rodar um script para fazer a primeira contagem. Se puder fazer com valores derivados, é sempre mais prático. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (11) 3040 7300 r155 gTalk: xmpp:[EMAIL PROTECTED][EMAIL PROTECTED] +55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803 +55 (11) 5685 2219 MSN: msnim:[EMAIL PROTECTED] ___ 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] Ajuda com campo sequencial
Olha um amigo já falow certa vez, a escrita não expõe a tonalidade das palavras. Não quis ser mal-criado ou pré-conceituoso, e citei o DBA em Oracle da empresa, veja que foi muito especifico, que é justamente professor de modelagem de dados e engenharia de software. Em resposta ao fato de você ter pedido para procurar um administrador de dados. E estou fazendo de uma equipe especifica, porque é um trabalho direcionado para uma equipe especifica. E sou humilde o suficiente para admitir que não entendi como um campo sequencial e chave primaria permite duplicações??? Os dois campos citados, Jogo_Numero e Jogo_Adversario, não podem ser chaves, e nem tem como eu saber porque haverá pessoas lançando os jogos de epocas diferentes. Sim, o SP já jogou duas vezes no mesmo dia. Coisas de futebol. Eu tenho varios outros indices, na busca de uma melhor otimização nas consultas. E desculpe por alguma coisa. []s Nilson 2008/5/25 Leandro DUTRA [EMAIL PROTECTED]: 2008/5/24 Nilson Chagas [EMAIL PROTECTED]: Olha, eu acho que vc não entendeu ou eu não soube explicar. Talvez um pouco de cada um, afinal esse tipo de conselho é difícil de dar por correio eletrônico. Por isso a sugestão de uma consultoria dum AD. Tenho um campo sequencial, para ficar mais facil, exclusão e alteração do registro. Isso é um vício desnecessário. O que importa é ter uma ou mais chaves. Um campo seqüencial por definição é uma má chave, porque permite duplicados; embora possa ser necessário em várias circunstâncias, em se tratando de SQL. Jogo_Numero - Seria o campo que conteria o numero do jogo. Jogo_Adversario - Tive esta ideia depois de ter mandado a mensagem, provavelmente nas estatistica vão querer sabe que é o jogo de numero tal contra determinado adversario. […] Usar o campos Jogo_Numero e Jogo_Adversario como chave?? Qual a razão disto?? visto que ele é somente para um efeito visual e estatistica. Você mesmo disse que não é apenas visual: 'vão querer sabe que é o jogo de numero tal contra determinado adversario', ou seja, é uma forma de identificação do jogo. E uma chave é exatamente isso, uma forma de identificação do dado. Você quer que eu exclua o campo Data?? De onde você tirou isso? Apenas estou supondo que seja outra chave candidata, uma vez que me parece que você trabalha com jogos dum único time e provavelmente um time não jogará mais de um jogo no mesmo dia. Caso jogue, precisa incluir hora também na chave. Entretanto, e aproveitando, me parece má modelagem dividir em um time principal e 'outros times'. E eu realmente criei um indice, logico que não unico, para uma eventual consulta. Por que lógico? E eu não entendi o problema de se usar junções. Desempenho e complexidade. Principalmente complexidade. Todo dia quase pego consultas com três, quatro, cinco junções que podia ter apenas uma ou duas se o modelo usasse chaves naturais. Se eu fosse guardar apenas o nome da equipe adversaria tudo bem, mas não é o caso. Nada a ver, você pode ter outra tabela com os dados adicionais. O interessante é que, usando chaves naturais, simplifica-se o uso da base, e bastante. E eu teria o campo nome da equipe em duas tabelas??? Por que não? Realmente há casos em que não é desejável, mas seria o teu? Realmente se for assim preciso de uma administrador de dados, e mandar o DBA Oracle da empresa embora. Não necessariamente. Infelizmente, alguns DBAs hoje não estão qualificados para modelagem, mas ainda cumprem seu papel de cuidar do SGBD. Mas o que nossa discussão tem a ver com seu DBA Oracle? Vamos com calma. Você pediu ajuda em casos básicos, mas aparentemente não conhece o modelo relacional, a teoria da normalização e as implicações práticas. Se quer aprender, vamos conversar com calma; se não, se quer só confirmar teus (¿pré-?)conceitos, nem precisa recorrer à lista. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (11) 3040 7300 r155 gTalk: xmpp:[EMAIL PROTECTED][EMAIL PROTECTED] +55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803 +55 (11) 5685 2219 MSN: msnim:[EMAIL PROTECTED] ___ 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] Ajuda com campo sequencial
Li as respostas dos colegas, e não fui tão claro por não dar os campos da tabela, vou simplifica-la: ID - Campo serial e chave primaria Jogo_Numero - Seria o campo que conteria o numero do jogo. Jogo_Adversario - Tive esta ideia depois de ter mandado a mensagem, provavelmente nas estatistica vão querer sabe que é o jogo de numero tal contra determinado adversario. Data - Data do jogo Hora - Hora do jogo Adversario - Id da tabela Outras Equipes - chave referencial etc... Com a ideia do novo campo (Jogo_Adversario), o negocio vai ser criar uma Stored Procedure mesmo, para popular o campo Jogo_Numero (todos os jogos), e Jogo_Adversario contagem dos jogos daquele Adversario. O ideal é montar uma stored procedure, e criar uma rotina para fazer isto, correto?? 2008/5/24 Marcus Fernandez [EMAIL PROTECTED]: Desculpem enviar outra mensagem tão em seguida assim, mas percebi que posso ter cometido um erro no meu comentário (mais uma vez desculpe-me por não ter reparado no erro antes). Como esse número de jogo pode ser preenchido incorretamente e necessite de posterior edição, não seria legal ter uma chave primária que possa ser editada. Use esse campo como chave única e crie um outro campo para ser primary key. Ainda assim eu acho a idéia da sequence legal para auxiliar o preenchimento desse campo para os jogos futuros. Abraços, Marcus Fernandez 2008/5/24 Marcus Fernandez [EMAIL PROTECTED]: Eu criaria uma sequence com start a partir do primeiro jogo (próximo jogo do SP) a ser cadastrado no sistema. Você poderá exibir na tela de cadastro de jogos o último jogo (se o último jogo foi o jogo 1200, exibira 1200 apenas para conhecimento). Caso o cliente queira cadastrar jogos passados, ou seja, de números anteriores, você libera o campo para preenchimento e no cadastro do sistema ao invés de pegar o valor da sequence, você simplesmente cadastra com o que foi determinado pelo usuário, lembrando que esse campo deve ser uma chave primária pois trata-se de uma chave natural, não existindo mais que um jogo de número 2 por exemplo. Precisar de uma mão é só chamar. Flw. Marcus Fernandez 2008/5/24 Leandro DUTRA [EMAIL PROTECTED]: 2008/5/23 Nilson Chagas [EMAIL PROTECTED]: Preciso ter um campo que vai ser o numero do jogo, ou seja jogo do SP numero tal. Não pode ser um campo simplesmente sequencial, pq vai ter colaboradores, lançando os jogos atuais, e outros lançando os primeiros jogos. Estava pensando em montar uma storeprocedure, que seria chamado de quando em quando para ele recontar os jogos em ordem de data. Parece estranho. Na recontagem o número do jogo vai poder mudar? Caso contrário, sugiro que seja um número seqüencial sim, chave candidata (alternativa ou primária), mas sob controle humano. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (11) 3040 7300 r155 gTalk: xmpp:[EMAIL PROTECTED][EMAIL PROTECTED] +55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803 +55 (11) 5685 2219 MSN: msnim:[EMAIL PROTECTED] ___ 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] Ajuda com campo sequencial
Olha, eu acho que vc não entendeu ou eu não soube explicar. Tenho um campo sequencial, para ficar mais facil, exclusão e alteração do registro. Usar o campos Jogo_Numero e Jogo_Adversario como chave?? Qual a razão disto?? visto que ele é somente para um efeito visual e estatistica. Você quer que eu exclua o campo Data?? E eu realmente criei um indice, logico que não unico, para uma eventual consulta. E eu não entendi o problema de se usar junções. Se eu fosse guardar apenas o nome da equipe adversaria tudo bem, mas não é o caso. E eu teria o campo nome da equipe em duas tabelas??? Realmente se for assim preciso de uma administrador de dados, e mandar o DBA Oracle da empresa embora. 2008/5/24 Leandro DUTRA [EMAIL PROTECTED]: 2008/5/24 Nilson Chagas [EMAIL PROTECTED]: ID - Campo serial e chave primaria Evite, procure usar chaves naturais, a menos que tenha boas razões para isso. Jogo_Numero - Seria o campo que conteria o numero do jogo. Jogo_Adversario - Tive esta ideia depois de ter mandado a mensagem, provavelmente nas estatistica vão querer sabe que é o jogo de numero tal contra determinado adversario. Ou seja, esses dois campos são bons candidados a uma chave. Data - Data do jogo Outra chave candidata? Hora - Hora do jogo Adversario - Id da tabela Outras Equipes - chave referencial Veja, usar id aqui em vez do nome da outra equipe vai obrigar a fazer muitas junções. Com a ideia do novo campo (Jogo_Adversario), o negocio vai ser criar uma Stored Procedure mesmo, para popular o campo Jogo_Numero (todos os jogos), e Jogo_Adversario contagem dos jogos daquele Adversario. Ainda não entendi se é uma boa idéia mudar os números automaticamente. Sinceramente? Você precisa contratar um administrador de dados. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (11) 3040 7300 r155 gTalk: xmpp:[EMAIL PROTECTED][EMAIL PROTECTED] +55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803 +55 (11) 5685 2219 MSN: msnim:[EMAIL PROTECTED] ___ 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] Ajuda com campo sequencial
Estou com uma duvida em uma tabela. Ajudando o pessoal da spnet, com um cadastro de jogos do SPFC. Preciso ter um campo que vai ser o numero do jogo, ou seja jogo do SP numero tal. Não pode ser um campo simplesmente sequencial, pq vai ter colaboradores, lançando os jogos atuais, e outros lançando os primeiros jogos. Estava pensando em montar uma storeprocedure, que seria chamado de quando em quando para ele recontar os jogos em ordem de data. Seria isto mesmo, ou tem alguma outra forma via banco que possa resolver isto??? -- []s Nilson Chagas --- Visite: Fundamental: www.amados.com.br Dúvidas:http://nilsoftware.blogspot.com/ Obrigatório: www.saopaulofc.com.br ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] OFF TOPIC - Projeto que regulamenta p rofissões de informática foi aprovado na CCT - Senado Federal
Apesar de chamar Nabucodonosor, vc lembrou Salomão agora. rsrsrs Assino em baixo. Em 17/03/08, Nabucodonosor Coutinho [EMAIL PROTECTED] escreveu: Pessoal, vou tratar com vocês como se estivesse falando na terceira pessoa do singular por considerar estar aconselhando uma migo, leiam com atenção: Eu acredito que precisa estudar sim e muito, mas nao se estuda só em faculdade. e os professores dos primeiro cursos de faculdade onde estudaram? você sabe que no brasil tem gente fazendo MBA, onde alguns professores de determinadas disciplinas não tem formação universitaria? pode-se estudar e aprender bastante na internet, em livros, e testando essas informações na prática, mais do que em qualquer faculdade. A diferença entre informática e a comparação boba que vocês fazem com medicina e farmácia, é que em informática podemos testar e errar 100 ou 1000 vezes para acertar uma. E se após acertar essa uma vez a gente não entendeu porque tudo funcionou, a gente pode testar de novo até entender e depois podemos testar de novo até aperfeiçoar. E podemos fazer tudo isso sem quaisquer tipo de prejuízos materiais que um médico, um farmaceutico ou um engenheiro civil poderia ter se tentasse fazer o mesmo. Outra coisa é a questão da valorização: Você ganha pouco? A culpa é da falta de regulamentação? A culpa é da falta de mercado de trabalho? Eu trabalho somente com informatica, faz uns 10 anos se nao me engano. Não tenho o que me queixar de valorização e nem de reconhecimento, porque o valor do meu trabalho e o reconhecimento que tenho conseguido tem dependido somente de mim. Nem sempre foi assim, mas quando não era eu não culpava fatores externos, eu sabia que meu sucesso ou meu fracasso ou como se chame, dependia somente de mim. A partir daí eu fui atráz e alcancei muitos dos meus objetivos profissionais e financeiros. E eu nao gostaria de dizer aqui quanto eu ganho por mês, mas eu nao tenho mais que mais que olhar meu saldo quando vou ao caixa eletronico fazer um saque. Então não é o fato de alguém regulamentar sua profissão que vai lhe valorizar, ou valorizar o seu trabalho. Mas eu acho que podemos encerrar por aqui porque eu tenho certeza que isso é uma coisa que você vai poder ver na prática. Quando isso acontecer lembre-se: sua vida não depende de ninguém além de você mesmo De quebra vocês poderiam comprar esse livro: http://www.esextante.com.br/publique/cgi/public/cgilua.exe/web/templates/htm/principal/view_0002.htm?editionsectionid=2infoid=2568user=reader Em 17/03/08, Evandro Ricardo Silvestre[EMAIL PROTECTED] escreveu: Acho que essa discussão já deu o que tinha que dar. E está tomando um rumo pessoal e não profissional. Quem quiser continuar, recomendo a lista [1] da SBC que é especifica sobre regulamentação da nossa profissão. Está rolando uma thread gigantesca por lá com participantes de grande porte. [1] https://grupos.ufrgs.br/mailman/listinfo/profi-l Evandro Erlon - Forsell wrote: não duvido que alguém que nunca frequentou uma faculdade possa desenvolver um tremendo sistema que eu jamais sonhei em desenvolver. agora para analista são muitas áreas envolvidas. ética, administração, atendimento ao cliente, modelagem, enfim, é muita coisa, para isso acredito ser necessária regulamentação. - Original Message - *From:* poste9 mailto:[EMAIL PROTECTED] *To:* Comunidade PostgreSQL Brasileira mailto:pgbr-geral@listas.postgresql.org.br *Sent:* Monday, March 17, 2008 5:25 PM *Subject:* Re: [pgbr-geral]OFF TOPIC - Projeto que regulamenta profissões de informática foi aprovado na CCT - Senado Federal Claro, vc diz q não sou capaz dum trabalho que exerço a 2 anos e meio sem nunca ter reclamação, muito pelo contrário. Em 17/03/08, *Erlon - Forsell* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] escreveu: é natural que quem não cursou e não sabe do que estou falando realmente não concorde. oasihuasohihuhusu sem comentários... Em 17/03/08, *Erlon - Forsell* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] escreveu: Acho que tem coisas que só se aprende na faculdade e isso faz um profissional completo, por isso concordo com uma boa regulamentação para dificultar o mercado para quem aprende em casa, não é justo o investimento que se faz e concorrer com pessoas que aprenderam sozinho. por exemplo. Um cara pode ser excelente programador sem ter feito faculdade, mas é na faculdade que aprendemos tudo que envolve, não só a programação em sim, mas modelagem, administração, ética, fazemos o juramento etc,etc..
Re: [pgbr-geral] OFF TOPIC - Projeto que regulamenta p rofissões de informática foi aprovado na CCT - Senado Federal
A muito se fala sobre esta regulamentação, vamos ver se vai chegar a algum lugar. Mas ao nobre colega abaixo gostaria de dizer uma coisa. Depois de 12 anos na area, me implantaram na mente que não aprenderia nada demais na faculdade e que não acrescentaria nada. Pois bem, entrei em uma empresa de porte medio, que esta crescendo cada vez mais. A ISO vai chegar aqui, e uma das coisas exigidas é a qualificação, entende-se por cursos e treinamentos. Eu ouvi oq vc já ouviu, vc vai ganhar x/2, por não ter faculdade... resultado, entrei na faculdade. E uma coisa que eu tinha em mente se confirmou, entrei na faculdade que não me acrescenta nada no aprendizado na função, mas amplia a mente no que diz respeito a negocio e gerencia. Saber é um bem que não se mede por numeros. Tenho um exemplo aqui na região de duas empresas, uma o cara é autodidata sabe muito, o outro sabe também, mas é formado, tem nivel academico. Resultado o primeiro fechou, por não administrar bem, nada haver com serviço, o outro, bem presta serviços para nossa empresa até hoje. Por isto recomendo um curso superior, não para ganhar um carteirinha do governo, mas é um saber que será muito util a nivel de mercado. Em 14/03/08, poste9 [EMAIL PROTECTED] escreveu: É complicado isso, eu não vejo porque mudar o que não está ruim, ao meu ver. Não sei se vocês sabem mas quem sofre mais por não ter uma faculdade eh justamente quem não tem o tal do diploma. Nunca na minha vida eu consegui um emprego enviando meu currículo. Esse último emprego que consegui o cara pediu o currículo pra avaliar com os concorrentes eu já joguei logo a idéia, meu currículo não vai te servir pra nada, tudo que eu sei fazer eu já disse, não tem um pedaço de papel que prove isso. Já tive um chefe que chegou pra mim e falou: eu te pagaria x mas vou te pagar x/2 porque vc não tem faculdade. qq eu vou fazer? mudar de profissão? tenho que aceitar, lógico. Não sei o que se ensina na faculdade mas normalmente o ego, tou a falar dos programadores, de alguns fica lá em cima só porcausa de um diploma. E fazem questão de pisar em quem conegue por si só. Em 14/03/08, José Luiz Manzoli [EMAIL PROTECTED] escreveu: Lenda!!! Quanto vc quer apostar comigo que as mesmas pessoas que reclamam da Política no Brasil se utilizam da Lei do Gerson??? Imagina.. uma empresa onde tem um encarregado de controlar venda de materiais usados (sucata).. Este encarregado para vender para uma empresa pede para o dono da empresa uma ajuda para ele poder entrar no negócio.. tipo assim 10% do que ele vender é dele!!! Esse cara chega em casa e assiste o Jornal e diz: Este Lula é um ladrão, Palocci é um ladrão E ele??? Agora imagina só 80% da população maldita brasileira faz isso!!! Mas voltando ao tópico.. esse negócio de provão para ver se vc está apto é uma FURADA.. Eu me especializei em desenvolvimento de softwares durante a faculdade. Fiz as outras matérias gostei aprendi mas acabou o ano eu apaguei da mente!!! E aí vem um Provão imbecil querendo me cobrar 4 anos de matérias que eu nem lembro mais??? Sai fora, Provão = Merda Em 14/03/08, Ribamar Sousa [EMAIL PROTECTED] escreveu: Em 14/03/08, José Luiz Manzoli[EMAIL PROTECTED] escreveu: Como sempre nosso Brasilzão de cada dia nos contempla com mais uma burrice!!! e manés decidindo as coisas mas é isso aí !!! vamos matar todo mundo que resolve!! Provavelmente eles estão fazendo isso para criar mais uns impostos para nosso bem estar!!! BRASIL UM PAÍS DE POLVOS! Mas veja José Luiz que agindo assim, chutando o balde, os sacanas continuarão sacaneando. Acredito que devemos usar nosso tempo e inteligência para fazer diferente e reverter este quadro de corrupção, lei do Gerson e cia. Veja um grande exemplo: aqui na lista somos de fato uma comunidade com um objetivo em comun. Uns compartilhando seus conhecimentos com os outros e assim evita-se reinventar a roda e conseguimos resolver nossos problemas com mais facilidade. Eu e cada um de nós acabamos por ter muito mais conhecimento do que se estivesse estudando sozinho. Extrapolando isso para o dia-a-dia de todos nós, da política, se nos orgazizarmos e fincarmos pé as coisas podem mudar. -- Ribamar FS - [EMAIL PROTECTED] http://ribafs.net ___ 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 -- = Grupo Comunidade de Comunicação Rafael Lúcio 29809.099333, fazendo do seu website uma aplicação em tempo real ms xsl
[pgbr-geral] Opnião sobre esta declaração
Desculpe já chegar sugando dos companheiros. Mas gostaria de opinião dos colegas sobre esta declaração do administrador da hospedagem: Que este novo site, use algum sistema de cache entre o site e o banco (cache de dados + pool de conexão), pois o problema deste site atual, e da grande maioria dos sistemas em php é a ausência desta camada essencial em sites com grande volume de acesso. Não quero preocupá-los, mas, na minha opinião, com o banco PostgreSQL vai ficar pior porque ele cria um processo servidor para cada conexão. Deste modo, se a cada request for criada uma conexão, consumido dados, e fechada a conexão, diferentemente do MySQL (que usa Threads e não processos do SO) o servidor do banco vai não literalmente 'explodir'. Passei estas impressões para o Shiro a muito tempo atras, quando recomendei outra plataforma para este site. Em resumo, com PostgreSQL sem uma camada de pool + cache (ou, é claro, redução da dependência do banco para renderizar cada página), não antecipo um período de tranquilidade. Obrigado. -- []s Nilson Chagas --- Visite: Fundamental: www.amados.com.br Dúvidas:http://nilsoftware.blogspot.com/ Obrigatório: www.saopaulofc.com.br ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Opnião sobre esta declaração
Então, o site atual não fui eu quem fiz... vou desenvolver o site novo. Eu falei para os proprietários do site, que um grande problemas que eles tinham estava relacionado ao mal uso do banco de dados, que atualmente é mysql. Para o novo site pedirão que fosse feito em postgresql, o qual não conhecia. Agora o hostmaster, me diz q podemos ter mais problemas com o postgresql do que com o mysql, veio um ponto de interrogação na mente. 2008/3/12, Sebastian SWC [EMAIL PROTECTED]: 2008/3/12 Jorge Vilela [EMAIL PROTECTED]: O que seria uma camada de pool + cache? Alguma camada de persistencia? Acho que ele disse *gentilmente* que você reestruturasse sua aplicação para que ela tivesse menos acesso ao banco... -- 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
Re: [pgbr-geral] Opnião sobre esta declaração
Vc e o Bruno me deram uma boa visão sobre o problema, e pelo que entendi vou ter que desenvolver isto por meio do PHP, não e algo que eu possa fazer no banco de dados. Correto?? Uma pergunta, a utilização de view amenizaria o problema??? Em 12/03/08, [EMAIL PROTECTED] [EMAIL PROTECTED] escreveu: Em relação o PostgreSQL ao criar um processo servidor para cada aplicação eu não sei te responder. Em sistemas Web, com grande número de requisições, devemos criar um cache (armazenar na memória do servidor Web) os dados que são mais acessados, para não ter requisições ao banco toda vez que alguém solicitar, por exemplo, uma lista de preços. Em java eu utilizo EhCache. Se houver alguma atualização no banco de dados o cache também é atualizado (tem de programar isso). Vou tentar resumir da forma mais simples. Pela sua explanação, me parece que o seu sistema acessa diretamente o banco de dados pela camada de apresentação. O pool de conexão é tu ter um interface (camada model) que acessa o seu banco de dados através das requisições da camada de controle. Se houver mais de uma mesma requisição, essa camada faz apenas uma chamada ao banco de dados e responde a todas requisições. E o cache nada mais é do que reter essa requisição em memória, respondendo a outras requisições com esses dados. Toda requisição de dados é solicitado a camada model que se tiver as informações em cache essas serão enviadas, ou faz uma nova requisição ao banco. Espero ter respondido sua questão, Alecindro Desculpe já chegar sugando dos companheiros. Mas gostaria de opinião dos colegas sobre esta declaração do administrador da hospedagem: Que este novo site, use algum sistema de cache entre o site e o banco (cache de dados + pool de conexão), pois o problema deste site atual, e da grande maioria dos sistemas em php é a ausência desta camada essencial em sites com grande volume de acesso. Não quero preocupá-los, mas, na minha opinião, com o banco PostgreSQL vai ficar pior porque ele cria um processo servidor para cada conexão. Deste modo, se a cada request for criada uma conexão, consumido dados, e fechada a conexão, diferentemente do MySQL (que usa Threads e não processos do SO) o servidor do banco vai não literalmente 'explodir'. Passei estas impressões para o Shiro a muito tempo atras, quando recomendei outra plataforma para este site. Em resumo, com PostgreSQL sem uma camada de pool + cache (ou, é claro, redução da dependência do banco para renderizar cada página), não antecipo um período de tranquilidade. Obrigado. -- []s Nilson Chagas --- Visite: Fundamental: www.amados.com.br Dúvidas:http://nilsoftware.blogspot.com/ Obrigatório: www.saopaulofc.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 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] Opnião sobre esta declaração
Os servidores são dedicados sim. Eu achei que para o numero de acessos teria que ser uma maquina com 4GB de RAM. O site é este www.saopaulofc.com.br, no dia da contratação do Adriano o site caiu 3 vezes (no servidor antigo). No servidor novo, quando passou de 500 ele caiu simplesmente. Apesar, quando arrumou a questão da velocidade da net o site ainda naum caiu. Mas ele diz estar lento. Só postei esta mensagem mesmo, pensando no fato dele ter dito que vamos ter mais problemas no postgresql, mas pelo que tenho visto aqui, é uma visão de alguém que não conhece o banco. Em 12/03/08, William Leite Araújo [EMAIL PROTECTED] escreveu: Em 12/03/08, Nilson Chagas [EMAIL PROTECTED] escreveu: Isto foi me passado: São dois servidores AMD 64 4400+ Dual Core com HD de 500GB e 2GB de RAM. Máquinas boas, mas como havia dito, uma má-configuração das mesmas gera problemas. Os servidores estão (deveriam estar) conectados à internet a uma velocidade de 100Mbps (está a 10Mbps e já estou resolvendo isto). Bom, na minha opinião os servidores deveriam ter um link interno gigabit entre eles para agilizar as requisições. Um servidor roda o webserver e o outro os bancos mysql e pgsql. Isso é muito comum. E caso as máquinas sejam exclusivas (o que acredito que não sejam), realmente estão mal-configuradas. Ou então as requisições da aplicação são muito pesadas... Cada servidor tem uma franquia de tráfego de 1.5TB. O problema no site atual começou acontecer depois de dois dias do novo servidor no ar. Quando o site passava de 500 usuarios estava dando dead block no banco que é mysql. Hum... que estranho... já trabalhei num ambiente com 1000 clientes simultâneos usando postgresql e máquinas semelhantes e não tive problema... Então ele me mandou aquela alertando que o problema no postgresql, pode ser pior, se não for feito um tratamento com um cache. Bom, volto a acreditar na preferência dele por MySQL. E estou achando que, ou o MySQL está mal configurada, ou a aplicação é muito pesada... (mas acho mais provável a primeira opção). Uma sugestão: peça a ele para testar a carga do Postgresql usando o LOG de queries do MySQL do horário de pico... -- William Leite Araújo Analista de Banco de Dados - QualiConsult ___ 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] Opnião sobre esta declaração
Bom, não conheço mysql, e não faço questão nenhuma de conhecer. Mas se você esta falando que o postgresql só trava se eu mandar, então pode deixar que eu não mando. rsrsrs Falando sobre view, e aproveitando a tread. Uma vez me falaram que o postgresql seria uma oracle menor, e tb li que banco de dados free, não possui view materalize(??). O fato da view dos banco de dados free, nào serem materializadas, constitui em um erro de performance na view, ao ponto de não haver diferença entre acessar a tabela e a view??? Em 12/03/08, Evandro Ricardo Silvestre [EMAIL PROTECTED] escreveu: Nilson Chagas wrote: RSRSRSRS' Foi mal este negocio me deixou muito pensativo. Veja o que ele me passou no dia que deu problema apos o upgrade dos servidores: Está dando 'dead lock' na tabela spnet_users, ou seja, várias transações simultâneas nesta tabela em que uma conxão fica aguardando algo terminar na outra e vice versa, condição que nunca termina. Apenas uma duvida, o mysql trava a tabela em ações IUD ou consulta automaticamente? Acredito que não. Provavelmente a aplicação está travando a tabela. Talvez seja apenas você não travar as tabelas. Assim não terá mais dead lock. Se esse (o dead lock) for seu unico problema, não deve ser tão dificil de resolver. No PostgreSQL a tabela só trava se você mandar. acredito que você nunca terá dead lock por excesso de acesso (estou certo??) Evandro ___ 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] Opnião sobre esta declaração
Se utilizar smaty, ele não possui um cache??? Não estaria resolvendo o problema de varias requisições??? Desculpe perguntar isto aqui, mas como já estamos no assunto. Em 12/03/08, Jorge Vilela [EMAIL PROTECTED] escreveu: Algum de vocês conhece algum framework para PHP que faça esse tipo de coisa? spool + cache? Estou pensando em melhorar o acesso ao banco de dados das minhas aplicações pois estão ficando muito pesadas também... E hoje trabalho com php/postgres... []'s Jorge 2008/3/12 Nilson Chagas [EMAIL PROTECTED]: RSRSRSRS' Foi mal este negocio me deixou muito pensativo. Veja o que ele me passou no dia que deu problema apos o upgrade dos servidores: Está dando 'dead lock' na tabela spnet_users, ou seja, várias transações simultâneas nesta tabela em que uma conxão fica aguardando algo terminar na outra e vice versa, condição que nunca termina. Abaixo segue a lista de conexões que estavam ativas. Vou reiniciar o banco, porque o web server não estou nem conseguindo logar na máquina em função disto. Será necessário analisar o que pode estar ocorrendo, haja vista que as configurações basicamente são as mesmas. A única alteração é a versão do PHP (4-5) e do MySQL ( 4-5). Agnaldo mysql show processlist; +-++--+-+-+--++- -+ | Id | User | Host | db | Command | Time | State | Info | +-++--+-+-+--++- -+ | 1299383 | 1040a2 | ds-1040-1.dedicados.laniway.com.br:47183 | 1040db2 | Sleep | 45 || NULL | | 1299393 | 1040a2 | ds-1040-1.dedicados.laniway.com.br:47193 | 1040db2 | Sleep | 74 || NULL | | 1299402 | 1040a2 | ds-1040-1.dedicados.laniway.com.br:47202 | 1040db2 | Sleep | 16 || NULL | | 1299412 | 1040a2 | ds-1040-1.dedicados.laniway.com.br:47212 | 1040db2 | Sleep | 74 || NULL | | 1299421 | 1040a2 | ds-1040-1.dedicados.laniway.com.br:47221 | 1040db2 | Query |9 | Locked | SELECT count(uid) FROM spnet_users WHERE uid=14065 and banned='N' and moderate | Em 12/03/08, Benedito A. Cruz [EMAIL PROTECTED] escreveu: Dead block ou deadlock? São coisas bem diferentes. Nilson Chagas wrote: Isto foi me passado: São dois servidores AMD 64 4400+ Dual Core com HD de 500GB e 2GB de RAM. Os servidores estão (deveriam estar) conectados à internet a uma velocidade de 100Mbps (está a 10Mbps e já estou resolvendo isto). Um servidor roda o webserver e o outro os bancos mysql e pgsql. Cada servidor tem uma franquia de tráfego de 1.5TB. O problema no site atual começou acontecer depois de dois dias do novo servidor no ar. Quando o site passava de 500 usuarios estava dando dead block no banco que é mysql. Então ele me mandou aquela alertando que o problema no postgresql, pode ser pior, se não for feito um tratamento com um cache. Em 12/03/08, *William Leite Araújo* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] escreveu: Bom, temos números para o problema? Número máximo de conexões simultâneas? Existe intranet (área que exija autenticação)? As transações possuem um equilíbrio ou inserção/atualização é mais freqüente? Qual o hardware para dar suporte a tais requisições? Qualquer servidor mal-configurado gerará problemas. E nem todos são ligados diretamente com a solução de banco de dados. O apache por exemplo, possui um cache de conexões. O que quero dizer é que esse tipo de decisão demanda de um conhecimento maior sobre o problema a ser enfrentado e, principalmente, entendimento técnico das soluções a serem usadas. E quanto à opinião do administrador da hospedagem, bem, ou ele gosta do MySQL e não quer aprender nada do postgresql, ou possui apenas uma máquina rodando tudo... -- William Leite Araújo Analista de Banco de Dados - QualiConsult ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br mailto:pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Opnião sobre esta declaração
BLZ, nem precisa de nova tread. Vou pesquisar o assunto. Pessoal, obrigado a todos, pelas ótimas informações, agora vou para o grupo de discussão do PHP e ver o que posso conseguir sobre cache. 2008/3/12, Evandro Ricardo Silvestre [EMAIL PROTECTED]: Nilson Chagas wrote: Falando sobre view, e aproveitando a tread. Sugiro criar uma nova thead. Uma vez me falaram que o postgresql seria uma oracle menor, e tb li que banco de dados free, não possui view materalize(??). O postgresql tem view materalize, procure em discussões passadas. Evandro ___ 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