Re: [pgbr-geral] Concatenar vários campos com delimi tador
Olá Yoshio, nós utilizamos Rules para registrar logs de update e delete nas tabelas. O insert fica valendo o próprio registro, se não existir log de update significa que o registro foi incluído da forma como está na tabela. As Rules são geradas durante o processo de atualização de versões (cria campos, tabelas, índices, triggers processo já discutido aqui). Sempre que atualizamos a versão do sistema, é rodado o processo que cria elas... Não sei se é a melhor maneira, mas preferimos Rules ao invés de Triggers para separar os logs das triggers... Abaixo um exemplo em uma tabela com dois campos. Att, Celso Lorenzetti. www.sysrs.com.br CREATE TABLE mercados ( mer_mercado numeric(5) NOT NULL, -- Código do mercado para vendas mer_nome character varying(50) NOT NULL, -- Nome do mercado para vendas CONSTRAINT pk_mercados PRIMARY KEY (mer_mercado) ) WITHOUT OIDS; CREATE OR REPLACE RULE mercados_d AS ON DELETE TO mercados DO INSERT INTO log (log_tabela, log_acao, usr_usuario, log_log) VALUES ('MERCADOS'::character varying, 'D'::character varying, fc_usuario(), ('[MER_MERCADO='::text || old.mer_mercado::text) || ']'::text); CREATE OR REPLACE RULE mercados_u AS ON UPDATE TO mercados DO INSERT INTO log (log_tabela, log_acao, usr_usuario, log_log) VALUES ('MERCADOS'::character varying, 'U'::character varying, fc_usuario(), (('[MER_MERCADO='::text || old.mer_mercado::text) || '] '::text) || CASE WHEN new.mer_nome::text <> old.mer_nome::text THEN ((('MER_NOME='::text || old.mer_nome::text) || '->'::text) || new.mer_nome::text) || ', '::text ELSE ''::text END); - Original Message - From: "Yoshio" <[EMAIL PROTECTED]> To: "Comunidade PostgreSQL Brasileira" Sent: Monday, June 23, 2008 7:26 AM Subject: [pgbr-geral] Concatenar vários campos com delimitador Olá pessoal. Como faço para concatenar vários campos (linha) delimitados com algum caracter em uma string dentro de uma trigger? O problema está no fato de não saber a quantidade de campos (nem os tipos) que seriam concatenados, pois a idéia é concatenar qualquer linha de qualquer tabela. Gostaria de fazer isto sem ter que fazer selects em tabelas catalogs nem usar loops. Existe alguma função para fazer isso? So para informar, a idéia é poder registrar as alterações nas tabelas como um histórico simples, indicando o se foi insert, update ou delete. Estava pensando em aumentar o nivel do log do postgre mas acho que iria ficar muito pesado. Estou aceitando idéias também. Quem puder ajudar, obrigado. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] RES: RES: Meio OFF...
Tatu, trabalhei com Progress a uns 8 anos atraz, ele tem um utilitario chamado dump que funciona da mesma forma que o Postgres. Se tiver alguma duvida e eu puder ajudar(se lembra ainda), eh soh escrever. Att, Celso Lorenzetti - Original Message - From: "Tatu" <[EMAIL PROTECTED]> To: "'Comunidade PostgreSQL Brasileira'" Sent: Friday, July 25, 2008 10:07 AM Subject: [pgbr-geral] RES: RES: Meio OFF... Sim...Estou Falando em ler dados do "progress"...e quero migrar para o "PostgreSQL"... 2 bancos de dados diferentes. Santiago. -Mensagem original- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome de Sebastian SWC Enviada em: sexta-feira, 25 de julho de 2008 09:56 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] RES: Meio OFF... Tatu, você está falando em progress[1] ou em postgres[2]? [1] http://www.progress.com/br/index.ssp [2] http://www.postgresql.org -- Sebastian SWC http://sebastianswc.com http://www.postgresql.org.br/ ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Quando usar? REAL, DOUBLE PRECISION e NUMERIC
Nós também utilizamos Numeric em todos os campos inteiros (para limitar a quantidade de dígitos que o usuário poderá informar) e decimais. Também não temos nenhum problema de performance. Não acredito que seja problema do Postgres tb. Att, Celso Lorenzetti www.sysrs.com.br - Original Message - From: "Shander Lyrio" <[EMAIL PROTECTED]> To: "Comunidade PostgreSQL Brasileira" Sent: Wednesday, July 30, 2008 2:39 PM Subject: Re: [pgbr-geral] Quando usar? REAL, DOUBLE PRECISION e NUMERIC William Leite Araújo wrote: > Posso dizer, por experiência própria, que o uso de numeric/decimal > só é indicado em casos onde a quantidade de registros é pequeno e/ou não > é usado em processamentos feito pelo banco de dados (qualquer fórmula > e/ou conversão). Eu acredito que numeric deva ser utilizando sempre que se precisar de um campo do tipo numeric. Nunca vi nem ouvi esta história de quantidade de registros. Se você precisa fazer conversão é provavel que sua modelagem inicial tenha sido errada e nada tem haver com o tipo numeric em si. > No ano passado, num processo de migração, converti o tipo > decimal(x,y) para o mesmo tipo no postgres, e ao trabalhar com campos > desse tipo em procedimentos, a migração de uma simples tabela de menos > de 500.000 registros durava mais de 20 horas. Ao converter esses campos > para inteiro (pois a parte decimal nem era usada), o tempo de > processamento caiu para 2 minutos. Isso mesmo! Na verdade deve ser menos > que 2 minutos... um absurdo, mas um caso real. Amigo, mágica não existe. Certamente existe outra coisa erra nos tais "procedimentos" e não é o uso de numeric que causou este problema. Eu uso extensivamente peso, cubagem e preços com numeric em tabelas com muito mais registros do que o que você cita e nunca vi nada de anormal. Vamos tomar cuidado com este tipo de afirmação categórica na lista sem nenhum embasamento científico para evitar que colegas que cairam no PostGreSql de paraquedas e ainda estão iniciando seus estudos achem que isto é uma regra. É muito mais fácil o seu "procedimento específico" ter sido executado de forma pouco performática por qualquer outra limitação de ambiente do que o PostGreSql manter um tipo de dados que não deveria ser usado pois apresenta performance 600 vezes menor que outro. > Dessa forma, caso vá usar o valor que está sendo armazenado em > algum procedimento/view/fórmula, não recomento tipo decimal/numerico. Dados científicos, paupáveis e replicáveis para embasar esta recomendação?? -- Shander Lyrio ___ 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] Instalar Contrib no Linux/Fedora 9
Olá estimados colegas, estou começando no Linux e instalei o Postgresql 8.3.3 no Fedora 9 apartir do código fonte, e depois de pesquisar um bocado (acabei instalando seguindo o arquivo install que vem com o código fonte). Bem, o sistema já roda no windows a uns 3 anos e utilizamos a função CONNECTBY do módulo contrib/tablefunc.sql Tentei rodar o script pelo psql mas disse não encontrar "%libdir/tablefunc". Comparando com o windows notei que não existia em /usr/local/pgsql/lib o arquivo tablefunc.so Então entrei no diretório que tem tablefunc.c e rodei o make. Ele gerou o tablefunc.so que movi para /usr/local/pgsql/lib. Até funcionou mas achei muito trabalhoso (embora não tenha experiência no linux, posso estar falando besteira), mas gostaria de saber como faço para instalar o tablefunc.sql durante a instalação do Postgresql ou mesmo após a instalação se não tiver como. Se alguém puder me dar uma luz, agradeço. Att, Celso Lorenzetti www.sysrs.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] Instalar Contrib no Linux/Fedora 9
- Original Message - From: "Aluisio Gouveia" <[EMAIL PROTECTED]> To: "Comunidade PostgreSQL Brasileira" Sent: Tuesday, August 05, 2008 9:11 PM Subject: Re: [pgbr-geral] Instalar Contrib no Linux/Fedora 9 Em Ter, Agosto 5, 2008 20:32, Celso escreveu: > Olá estimados colegas, > > estou começando no Linux e instalei o Postgresql 8.3.3 no Fedora 9 apartir > do > código fonte, e depois de pesquisar um bocado (acabei instalando seguindo > o > arquivo install que vem com o código fonte). > > Bem, o sistema já roda no windows a uns 3 anos e utilizamos a função > CONNECTBY > do módulo contrib/tablefunc.sql > > Tentei rodar o script pelo psql mas disse não encontrar > "%libdir/tablefunc". > Comparando com o windows notei que não existia em /usr/local/pgsql/lib o > arquivo > tablefunc.so > > Então entrei no diretório que tem tablefunc.c e rodei o make. Ele gerou o > tablefunc.so que movi para /usr/local/pgsql/lib. > > Até funcionou mas achei muito trabalhoso (embora não tenha experiência no > linux, > posso estar falando besteira), mas > > gostaria de saber como faço para instalar o tablefunc.sql durante a > instalação > do Postgresql ou mesmo após a instalação se não tiver como. Como vc esta usando o Fedora 9 vc pode utilizar os pacotes RPM do repositorio do pgdg [1] e depois um simples yum resolve o seu problema: yum install postgresql-contrib Para a instalação dos pricipais pacotes do postgresql vc faz o seguinte, apos a configuração do repositorio do pgdg: yum install postgresql postgresql-libs postgresql-devel postgresql-contrib postgresql-server [1]http://yum.pgsqlrpms.org/howtoyum.php Pois é, até cheguei a intalar pelo yum, mas depois de pesquisar percebi que o pessoal indicava instalar pelos fontes... então acabei indo por este caminho. O curioso é que depois de instalar pelos fontes eu até fiz tb o yum install postgresql-contrib, ele mostrou como instalado mas não instalou ou instalou em algum lugar que o post não identificou pq dava a mensagem do mail anterior. Mas obrigado pela dica de qualquer forma. Att, Celso Lorenzetti Aluisio Gouveia ___ 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] Instalar Contrib no Linux/Fedora 9
Obrigado Aldrey, vou tentar desta forma também, pois a idéia inicial é justamente estudar as opções que existem, para aprender. Att, Celso Lorenzetti www.sysrs.com.br - Original Message - From: "Aldrey Galindo" <[EMAIL PROTECTED]> To: "Comunidade PostgreSQL Brasileira" Sent: Tuesday, August 05, 2008 11:13 PM Subject: Re: [pgbr-geral] Instalar Contrib no Linux/Fedora 9 Celso, Quando você instala manualmente ele não fica visível para o YUM. Caso você tenha especificado todos os caminhos iguais aos do pacote RPM instalado, então o YUM sobrescreveu o que você compilou. As pessoas falam que é bom compilar na mão para ele pegar as informações corretas do seu processador, isso realmente é melhor. Você pode recompilar o '.src.rpm', que você mantém a organização do RPM, e também pega as informações corretas. Como mencionou que não tem experiência, aí complica um pouco. Vou tentar resumir os passos, ressaltando que pode ter pequenas mudanças: 1- Backup de tudo 2- Baixar o pacote RPM do postgresql 8.3.3 (ex: [1] ou [2]) 3- Recompilar pacote (precisa do rpm-build entre outros, tente resolver dependências com o yum) # rpmbuild --rebuild postgresql-8.3.3-3.fc10.src.rpm 4- Instalar # rpm -ivh postgresql-contrib-8.3* postgresql-libs-8.3* postgresql-8.3* postgresql-server-8.3* O resto você já sabe. Qualquer dúvida adicional manda pra cá. Abraços, Aldrey Galindo 1- http://fr.rpmfind.net 2- ftp://fr.rpmfind.net/linux/fedora/development/source/SRPMS/postgresql-8.3.3-3.fc10.src.rpm 2008/8/5 Celso <[EMAIL PROTECTED]>: > > - Original Message - > From: "Aluisio Gouveia" <[EMAIL PROTECTED]> > To: "Comunidade PostgreSQL Brasileira" > > Sent: Tuesday, August 05, 2008 9:11 PM > Subject: Re: [pgbr-geral] Instalar Contrib no Linux/Fedora 9 > > > Em Ter, Agosto 5, 2008 20:32, Celso escreveu: >> Olá estimados colegas, >> >> estou começando no Linux e instalei o Postgresql 8.3.3 no Fedora 9 >> apartir >> do >> código fonte, e depois de pesquisar um bocado (acabei instalando seguindo >> o >> arquivo install que vem com o código fonte). >> >> Bem, o sistema já roda no windows a uns 3 anos e utilizamos a função >> CONNECTBY >> do módulo contrib/tablefunc.sql >> >> Tentei rodar o script pelo psql mas disse não encontrar >> "%libdir/tablefunc". >> Comparando com o windows notei que não existia em /usr/local/pgsql/lib o >> arquivo >> tablefunc.so >> >> Então entrei no diretório que tem tablefunc.c e rodei o make. Ele gerou o >> tablefunc.so que movi para /usr/local/pgsql/lib. >> >> Até funcionou mas achei muito trabalhoso (embora não tenha experiência no >> linux, >> posso estar falando besteira), mas >> >> gostaria de saber como faço para instalar o tablefunc.sql durante a >> instalação >> do Postgresql ou mesmo após a instalação se não tiver como. > > Como vc esta usando o Fedora 9 vc pode utilizar os pacotes RPM do > repositorio do > pgdg [1] e depois um simples yum resolve o seu problema: > > yum install postgresql-contrib > > Para a instalação dos pricipais pacotes do postgresql vc faz o seguinte, > apos a > configuração do repositorio do pgdg: > > yum install postgresql postgresql-libs postgresql-devel postgresql-contrib > postgresql-server > > [1]http://yum.pgsqlrpms.org/howtoyum.php > > Pois é, até cheguei a intalar pelo yum, mas depois de pesquisar percebi > que > o pessoal indicava instalar pelos fontes... então acabei indo por este > caminho. > O curioso é que depois de instalar pelos fontes eu até fiz tb o yum > install > postgresql-contrib, ele mostrou como instalado mas não instalou ou > instalou > em algum lugar que o post não identificou pq dava a mensagem do mail > anterior. > > Mas obrigado pela dica de qualquer forma. > > > Att, > > Celso Lorenzetti > Aluisio Gouveia > > ___ > 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 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Conexão (off-topic)
Olá Rafael, nós utilizamos o da www.vitavoom.com até o delphi 2006 (ainda não tem o DBX4) utilizamos a 3 anos sem problemas. - Original Message - From: Rafael Helm - Trevisan Tecnologia To: 'Comunidade PostgreSQL Brasileira' Sent: Wednesday, August 27, 2008 10:37 AM Subject: [pgbr-geral] Conexão (off-topic) Olá pessoal, Sei que a lista é de PostgreSQL, mas como não achei resposta em outras listas tomei a liberdade de postar a questão aqui. Gostaria de perguntar aos amigos se alguem conhece driver dbExpress (Delphi) para conectar ao PostgreSQL? Estamos com ideia de migrar de Firebird para PostgreSQL e este é um ponto muito importante pois se houver driver dbExpress não precisaremos reescrever o código Delphi, somente adaptar algumas consultas SQL. Grato a todos pela compreensão. Rafael. -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo. -- ___ 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] RESULTA DO QUERY NUMA TABLE
Uma idéia: select sum(coluna1), sum(coluna2), sum(coluna3), sum(coluna4), sum(coluna5) from (select case when condicao = 1 then valor else 0 end as coluna1, case when condicao = 2 then valor else 0 end as coluna2, case when condicao = 3 then valor else 0 end as coluna3, case when condicao = 4 then valor else 0 end as coluna4, case when condicao = 5 then valor else 0 end as coluna5 from tabelaxxx) a Att, Celso Lorenzetti www.sysrs.com.br - Original Message - From: Daniel M Carneiro To: pgbr-geral@listas.postgresql.org.br Sent: Tuesday, September 09, 2008 1:01 PM Subject: [pgbr-geral] RESULTA DO QUERY NUMA TABLE Olá Galera! Boa tarde! Alguém pode dar um ajudinha? É o seguinte: Eu tenho um resultado de uma consulta, em que cada registro deverá ser mostrado em coluna da tabela! E cada linha da Tabela deverá ter 5 colunas. Uma matriz de 1 X 5 (registros)! Alguém poderá dar essa preciosa ajuda? Detalhes: Estou usando PG 8.3 com PHP! Daniel M Carneiro -- ___ 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] Trigger Postgresql vs Firebird
Olá Lucas, é exatamente isso. Vc cria um function que retorna um tipo Trigger. Abaixo um exemplo que tenho. O exemplo faz o seguinte: Se incluir um documento a pagar que o tipo de vencimento seja "A VISTA" ele já liquida o documento, inserindo um registro - Original Message - From: Lucas Paz To: pgbr-geral@listas.postgresql.org.br Sent: Tuesday, December 09, 2008 10:52 AM Subject: [pgbr-geral] Trigger Postgresql vs Firebird Pessoal, estamos migrando para o Postgresql e estou com duvida de como fazer algumas trigger's visto que a estrutura do firebird é completamente diferente do Postgresql. No Firebird tenho isso por exemplo... CREATE TRIGGER ADD_HISTORICO_AI FOR LANCAMENTOS ACTIVEAFTER INSERT POSITION 0 AS BEGIN INSERT INTO HISTORICO_LANCAMENTO (ID_BANCO, ID_LANCAMENTO, ID_ESTADO, DATA) VALUES (new.ID_BANCO, new.ID_LANCAMENTO, new.ID_ESTADO, new.DATA_ENTRADA); END; Essa trigger faz o seguinte, quando insiro uma linha na tabela lancamentos, ela automaticamente insere uma linha na tabela historico_lancamentos... i pelo que vi tenho que criar uma function e um tigger que dispara a function... se alguem puder me ajudar a fazer essa trigger no firebird pra eu entender como funciona eu agradeço, as outras são bem parecidas entendendo essa já fica certo. Obrigado pela atenção... -- 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
Re: [pgbr-geral] Trigger Postgresql vs Firebird
Olá Lucas, é exatamente isso. Vc cria um function que retorna um tipo Trigger. Abaixo um exemplo que tenho. O exemplo faz o seguinte: Se incluir um documento a pagar que o tipo de vencimento seja "A VISTA" ele já liquida o documento, inserindo um registro na tabela liquidacoes_contas_pagar. Tem um cursor pra pegar uns parâmetros e um teste antes. mas é mais ou menos o que vc quer. CREATE OR REPLACE FUNCTION TG_AI_CPA () RETURNS trigger AS $body$ DECLARE C1 CURSOR IS SELECT FC_PARAMETRO(11, 'MCP_MOVIMENTO_AVISTA') AS MCP_MOVIMENTO, FC_USUARIO() AS USR_USUARIO; V1 RECORD; begin OPEN C1; FETCH C1 INTO V1; CLOSE C1; IF (NEW.TPV_TIPO = 2) AND (V1.MCP_MOVIMENTO IS NOT NULL) THEN INSERT INTO LIQUIDACOES_CONTAS_PAGAR (LCP_SEQUENCIA, CPA_SEQUENCIA, MCP_MOVIMENTO, LCP_DATA_OCORRENCIA, LCP_DATA_CONTABIL, LCP_VALOR, LCP_LANCAMENTO_MANUAL, USR_USUARIO, LCP_RETROATIVO) VALUES (NEXTVAL('SQ_LIQUIDACOES_CONTAS_PAGAR'), NEW.CPA_SEQUENCIA, CAST(V1.MCP_MOVIMENTO AS NUMERIC), NEW.CPA_VENCIMENTO, NEW.CPA_VENCIMENTO, NEW.CPA_VALOR, 'S', V1.USR_USUARIO, 'S'); END IF; RETURN NEW; end; $body$ LANGUAGE 'plpgsql'; CREATE TRIGGER TG_AI_CPA AFTER INSERT ON contas_pagar FOR EACH ROW EXECUTE PROCEDURE TG_AI_CPA(); - Original Message - From: Lucas Paz To: pgbr-geral@listas.postgresql.org.br Sent: Tuesday, December 09, 2008 10:52 AM Subject: [pgbr-geral] Trigger Postgresql vs Firebird Pessoal, estamos migrando para o Postgresql e estou com duvida de como fazer algumas trigger's visto que a estrutura do firebird é completamente diferente do Postgresql. No Firebird tenho isso por exemplo... CREATE TRIGGER ADD_HISTORICO_AI FOR LANCAMENTOS ACTIVEAFTER INSERT POSITION 0 AS BEGIN INSERT INTO HISTORICO_LANCAMENTO (ID_BANCO, ID_LANCAMENTO, ID_ESTADO, DATA) VALUES (new.ID_BANCO, new.ID_LANCAMENTO, new.ID_ESTADO, new.DATA_ENTRADA); END; Essa trigger faz o seguinte, quando insiro uma linha na tabela lancamentos, ela automaticamente insere uma linha na tabela historico_lancamentos... i pelo que vi tenho que criar uma function e um tigger que dispara a function... se alguem puder me ajudar a fazer essa trigger no firebird pra eu entender como funciona eu agradeço, as outras são bem parecidas entendendo essa já fica certo. Obrigado pela atenção... -- 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
Re: [pgbr-geral] Trigger Postgresql vs Firebird
Olá Lucas, é exatamente isso. Vc cria um function que retorna um tipo Trigger. Abaixo um exemplo que tenho. O exemplo faz o seguinte: Se incluir um documento a pagar que o tipo de vencimento seja "A VISTA" ele já liquida o documento, inserindo um registro na tabela liquidacoes_contas_pagar. Tem um cursor pra pegar uns parâmetros e um teste antes. mas é mais ou menos o que vc quer. CREATE OR REPLACE FUNCTION TG_AI_CPA () RETURNS trigger AS $body$ DECLARE C1 CURSOR IS SELECT FC_PARAMETRO(11, 'MCP_MOVIMENTO_AVISTA') AS MCP_MOVIMENTO, FC_USUARIO() AS USR_USUARIO; V1 RECORD; begin OPEN C1; FETCH C1 INTO V1; CLOSE C1; IF (NEW.TPV_TIPO = 2) AND (V1.MCP_MOVIMENTO IS NOT NULL) THEN INSERT INTO LIQUIDACOES_CONTAS_PAGAR (LCP_SEQUENCIA, CPA_SEQUENCIA, MCP_MOVIMENTO, LCP_DATA_OCORRENCIA, LCP_DATA_CONTABIL, LCP_VALOR, LCP_LANCAMENTO_MANUAL, USR_USUARIO, LCP_RETROATIVO) VALUES (NEXTVAL('SQ_LIQUIDACOES_CONTAS_PAGAR'), NEW.CPA_SEQUENCIA, CAST(V1.MCP_MOVIMENTO AS NUMERIC), NEW.CPA_VENCIMENTO, NEW.CPA_VENCIMENTO, NEW.CPA_VALOR, 'S', V1.USR_USUARIO, 'S'); END IF; RETURN NEW; end; $body$ LANGUAGE 'plpgsql'; CREATE TRIGGER TG_AI_CPA AFTER INSERT ON contas_pagar FOR EACH ROW EXECUTE PROCEDURE TG_AI_CPA(); - Original Message - From: Lucas Paz To: pgbr-geral@listas.postgresql.org.br Sent: Tuesday, December 09, 2008 10:52 AM Subject: [pgbr-geral] Trigger Postgresql vs Firebird Pessoal, estamos migrando para o Postgresql e estou com duvida de como fazer algumas trigger's visto que a estrutura do firebird é completamente diferente do Postgresql. No Firebird tenho isso por exemplo... CREATE TRIGGER ADD_HISTORICO_AI FOR LANCAMENTOS ACTIVEAFTER INSERT POSITION 0 AS BEGIN INSERT INTO HISTORICO_LANCAMENTO (ID_BANCO, ID_LANCAMENTO, ID_ESTADO, DATA) VALUES (new.ID_BANCO, new.ID_LANCAMENTO, new.ID_ESTADO, new.DATA_ENTRADA); END; Essa trigger faz o seguinte, quando insiro uma linha na tabela lancamentos, ela automaticamente insere uma linha na tabela historico_lancamentos... i pelo que vi tenho que criar uma function e um tigger que dispara a function... se alguem puder me ajudar a fazer essa trigger no firebird pra eu entender como funciona eu agradeço, as outras são bem parecidas entendendo essa já fica certo. Obrigado pela atenção... -- 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
Re: [pgbr-geral] Trigger Postgresql vs Firebird
Olá Lucas, é exatamente isso. Vc cria um function que retorna um tipo Trigger. Abaixo um exemplo que tenho. O exemplo faz o seguinte: Se incluir um documento a pagar que o tipo de vencimento seja "A VISTA" ele já liquida o documento, inserindo um registro na tabela liquidacoes_contas_pagar. Tem um cursor pra pegar uns parâmetros e um teste antes. mas é mais ou menos o que vc quer. CREATE OR REPLACE FUNCTION TG_AI_CPA () RETURNS trigger AS $body$ DECLARE C1 CURSOR IS SELECT FC_PARAMETRO(11, 'MCP_MOVIMENTO_AVISTA') AS MCP_MOVIMENTO, FC_USUARIO() AS USR_USUARIO; V1 RECORD; begin OPEN C1; FETCH C1 INTO V1; CLOSE C1; IF (NEW.TPV_TIPO = 2) AND (V1.MCP_MOVIMENTO IS NOT NULL) THEN INSERT INTO LIQUIDACOES_CONTAS_PAGAR (LCP_SEQUENCIA, CPA_SEQUENCIA, MCP_MOVIMENTO, LCP_DATA_OCORRENCIA, LCP_DATA_CONTABIL, LCP_VALOR, LCP_LANCAMENTO_MANUAL, USR_USUARIO, LCP_RETROATIVO) VALUES (NEXTVAL('SQ_LIQUIDACOES_CONTAS_PAGAR'), NEW.CPA_SEQUENCIA, CAST(V1.MCP_MOVIMENTO AS NUMERIC), NEW.CPA_VENCIMENTO, NEW.CPA_VENCIMENTO, NEW.CPA_VALOR, 'S', V1.USR_USUARIO, 'S'); END IF; RETURN NEW; end; $body$ LANGUAGE 'plpgsql'; CREATE TRIGGER TG_AI_CPA AFTER INSERT ON contas_pagar FOR EACH ROW EXECUTE PROCEDURE TG_AI_CPA(); - Original Message - From: Lucas Paz To: pgbr-geral@listas.postgresql.org.br Sent: Tuesday, December 09, 2008 10:52 AM Subject: [pgbr-geral] Trigger Postgresql vs Firebird Pessoal, estamos migrando para o Postgresql e estou com duvida de como fazer algumas trigger's visto que a estrutura do firebird é completamente diferente do Postgresql. No Firebird tenho isso por exemplo... CREATE TRIGGER ADD_HISTORICO_AI FOR LANCAMENTOS ACTIVEAFTER INSERT POSITION 0 AS BEGIN INSERT INTO HISTORICO_LANCAMENTO (ID_BANCO, ID_LANCAMENTO, ID_ESTADO, DATA) VALUES (new.ID_BANCO, new.ID_LANCAMENTO, new.ID_ESTADO, new.DATA_ENTRADA); END; Essa trigger faz o seguinte, quando insiro uma linha na tabela lancamentos, ela automaticamente insere uma linha na tabela historico_lancamentos... i pelo que vi tenho que criar uma function e um tigger que dispara a function... se alguem puder me ajudar a fazer essa trigger no firebird pra eu entender como funciona eu agradeço, as outras são bem parecidas entendendo essa já fica certo. Obrigado pela atenção... -- 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] remover
remover da lista ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] remover
remover da lista ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Conversão MySQL para PostgreSQL
Olá, eu já converti e utilizei o DataPump que vem com o Delphi (Delphi 6 na época) Ele cria as tabelas, constraitnts e importa todos os dados. Somente com meia dúzia de cliques... Não tenho ele instalado aqui, mas se tiver alguma dúvida, posta novamente. Att, Celso Lorenzetti - Original Message - From: "Sebastian SWC" <[EMAIL PROTECTED]> To: "Comunidade PostgreSQL Brasileira" Sent: Monday, February 11, 2008 3:48 PM Subject: Re: [pgbr-geral] Conversão MySQL para PostgreSQL > Crio um banco acess e crio conexoes odbc para o banco mysql e o > postgresql. > Ai faço consultas de insert nas tabelas do banco postgresql. parece a melhor idéia! Ferramentas revolucionarias não solucionam o problema totalmente. -- 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] Comparação base de desenvolviment o com base de produção.
Bom dia Pedro, nós desenvolvemos uma ferramenta que faz isso, pois tinhamos o mesmo problema. ela está no site www.sysrs.com.br no link downloads. ela tem o básico: Tabelas, campos, constraints (Foreign Key e Checks), índices, triggers, functions, views e sequences. Se quizeres testar... Att, Celso Lorenzetti. - Original Message - From: Pedro B. Alves To: Comunidade PostgreSQL Brasileira Sent: Monday, April 07, 2008 5:19 PM Subject: [pgbr-geral] Comparação base de desenvolvimento com base de produção. Pessoal, existe alguma ferramenta que faça a comparação da estrutura do banco de dados que está na base de desenvolvimento com o banco de dados que está na produção??? Pois como estou desenvolvendo alguns modulos novos, e dando manutenção em outros, então é muita mão ficar olhando na base de desenvolvimento e criando na base de produção, gostaria que esse processo fosse automatizado Agradeço desde já.. -- ___ 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] Comparação base de desenvolviment o com base de produção.
Ué deixa eu ver e posto novamente... - Original Message - From: "Leandro Damascena" <[EMAIL PROTECTED]> To: "Comunidade PostgreSQL Brasileira" Cc: <[EMAIL PROTECTED]> Sent: Tuesday, April 08, 2008 9:37 AM Subject: Re: [pgbr-geral] Comparação base de desenvolvimento com base de produção. Celso escreveu: > Bom dia Pedro, > > nós desenvolvemos uma ferramenta que faz isso, pois tinhamos o mesmo > problema. > > ela está no site www.sysrs.com.br <http://www.sysrs.com.br> no link > downloads. > Tá dando page not found :-( Leandro ___ 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
Não sei se é a melhor solução, mas eu criei uma function CREATE OR REPLACE FUNCTION fc_ascii(character varying) RETURNS text AS $BODY$ select translate($1, 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ', 'aiiioAIIIOcC'); $BODY$ LANGUAGE 'sql'; - Original Message - From: "Osvaldo Kussama" To: "Comunidade PostgreSQL Brasileira" Sent: Tuesday, October 27, 2009 5:55 PM Subject: Re: [pgbr-geral] problema com acentos no UTF8 2009/10/27 Rodolfo : > ja resolveram o problema do cara ? eu so fiz algumas perguntas...e até > agora > nada de me responderemso quis ajudar..bom fica de pé as > perguntas sobre onde vai ser mostrado essas consultas (se aplicativo ou > algum browser). Apenas para não ficar sem resposta: O que a função to_ascii [1] faz é remover os acentos dos caracteres, assim uma consulta: SELECT nome FROM tabela WHERE to_ascii(nome) ILIKE 'joao%'; poderia retornar: joão João joao JOAO joaõ JÕAO etc Acontece que esta função só é aplicável aos encodings LATIN1, LATIN2, LATIN9 e WIN1250 mas o encoding que está se tornando padrão é o UTF-8. A pergunta era como utilizar algo semelhante à função to_ascii com o encoding UTF-8. Osvaldo [1] http://www.postgresql.org/docs/current/interactive/functions-string.html ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] [Meio-OFF] Casing e Nomenclaturas
Vai outra idéia, que utilizamos... Cada tabela tem uma sigla de 3 caracteres que a representa e esta sigla faz parte do nome de seus campos. Exemplo: Clientes: CLI Fornecedores: FOR Notas de saída: NFS Notas de entrada: NFE Desta forma não terás dois campos com mesmo nome em tabelas diferentes, porque na tabela de clientes será cli_codigo, cli_razao_social e em fornecedor será for_codigo, for_razao_social, e assim por diante Essa técnica é muito útil quando precisar encontrar onde um campo é utilizado (se um dia precisar mudar sua definição), pois em todo o sistema será sempre o mesmo e não terás problemas em criar as fks nas outras tabelas, porque os campos tens nomes diferentes. Att, Celso Lorenzetti www.sysrs.com.br - Original Message - From: "Tarcísio Sassara" To: "Comunidade PostgreSQL Brasileira" Sent: Thursday, December 17, 2009 9:27 AM Subject: Re: [pgbr-geral] [Meio-OFF] Casing e Nomenclaturas 2009/12/16 George Silva : > Boa tarde pessoal, > > Em geral qual é o tipo de padrão de digitação e nomenclatura que vocês > seguem ao trabalhar com tabelas, indíces, chaves, procedures etc? Eu sei > que > no caso do PostgreSQL casing é um pouco irrelevante...mas... > > CamelCase? muitos_underlines_? > > E quanto à nomenclatura dos objetos? > Tabelas: tbl_foo; > Chaves: tbl_foo_pk; > Indices: idx_tbl_foo_campo1? > > É mais uma curiosidade mesmo... > Tirei uns trechos de uma documentação minha: Nunca uso caixa alta. Tabelas com substantivos no plural: usuarios produtos E as views como uma extensão das tabelas com nomes descritivos: usuarios_bloqueados Colunas com nomes sem prefixo identificador. Já vi muito colunas com nomes do tipo: str_nome e int_codigo. Algumas vezes ajuda, principalmente depois de muito tempo sem mexer. Mas prefiro usar nomes legais: nome, codigo, cpf e data_criacao. Eu sei os tipos porque sempre uso os mesmos para colunas assim. colunas com nomes, códigos e cpfs uso sempre "string" (character varying). Restrição do tipo chave primaria com nome singular com o sufixo "_pk": usuario_pk Check com nome e sufixo "_chk": cpf_valido_chk Uniques com sufixo "_unq": cpf_unq Chaves estrangeiras: __fk: produto_categoria_id_fk Indices: __idx: produto_titulo_idx Nas queries sempre coloco as palavras reservadas em maiúsculo: SELECT nome, cpf FROMusuarios WHERE bloqueado = FALSE AND nome ILIKE 'joao%' O Josh Berkus fala um pouco sobre nomes de tabelas aqui: http://it.toolbox.com/blogs/database-soup/whats-up-with-the-singular-table-names-33590 É sempre bom documentar. Você pode colocar comentários nos objetos. Veja em: http://www.postgresql.org/docs/8.4/interactive/sql-comment.html E com os comentários o autodoc pode gerar uma documentação: http://www.rbt.ca/autodoc/ -- Tarcisio F. Sassara ___ 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] Commit + Rollback no postgres
Olá Marcelo, nós tratamos da seguinte forma: na classe TFrmBase (todas herdam desta) temos a seguinte procedure procedure TFrmBase.InicializarTransacao(Inicializar: Boolean); begin TD.TransactionID := TD.TransactionID + 1; if Inicializar and (Not DdmSistema.Conexao.InTransaction) then DdmSistema.conexao.StartTransaction(TD); end; e para finalizar procedure TFrmBase.FinalizarTransacao(Salvando: Boolean); begin if DdmSistema.conexao.InTransaction then if Salvando then DdmSistema.conexao.Commit(TD) else DdmSistema.conexao.Rollback(TD); end; Sendo que: DdmSistema: TDataModule conexao: TSqlConnection TD: TTransactionDesc; Assim quando precisamos de um bloco de transação, fazemos o seguinte: InicializarTransacao(True); Try ... ... ... FinalizarTransacao(True); Except FinalizarTransacao(False); End; Nunca falhou. Att, Celso Lorenzetti www.sysrs.com.br - Original Message - From: "Marcelo Silva" To: "Comunidade PostgreSQL Brasileira" Sent: Thursday, August 19, 2010 11:15 AM Subject: Re: [pgbr-geral] Commit + Rollback no postgres Um... com sua dica resolvi fazer uma pesquisa diferente no "oraculo" postgres + zeos + delphi + commit e cheguei na pagina http://www.activedelphi.com.br/forum/viewtopic.php?t=33645 que me clareou... Consegui o que preciso, Obrigado a todos por mais essa :) Marcelo Silva msn: marc...@ig.com.br cel.: (11) 9693-4251 Kubuntu User number is # 24362 - Original Message - From: "Victor Hugo" To: "Comunidade PostgreSQL Brasileira" Sent: Thursday, August 19, 2010 10:31 AM Subject: Re: [pgbr-geral] Commit + Rollback no postgres Marcelo, Antes de vc abrir uma query de UPDATE , INSERT ou DELETE, mande a instrução para o banco com o comando BEGIN, Execute a os comandos e depois comando COMMIT se não ROLLBACK; abraços. Victor Hugo Em 19 de agosto de 2010 10:26, Marcelo Silva escreveu: > Pois é, eu já sabia que o Postgres é bem mais completo que o MySQL... e > achei estranho o Zeos dar esse erro. Neste mesmo componente tem outra > propriedade "AutoCommit" , como o nome diz, se estiver True ele > "AutoComita" > senão ele dá um Rollback, mas na pratica isso não acontece, mesmo estando > False ele grava por definitivo na base... > > Bem vou estudar melhor o caso pra ver onde está a solução... de qualquer > forma, agradeço a ajuda dos colegas > > Marcelo Silva > > msn: marc...@ig.com.br > cel.: (11) 9693-4251 > Kubuntu User number is # 24362 > > > - Original Message - > From: "Roberto Mello" > To: "Comunidade PostgreSQL Brasileira" > > Sent: Thursday, August 19, 2010 8:29 AM > Subject: Re: [pgbr-geral] Commit + Rollback no postgres > > > 2010/8/18 Marcelo Silva : >> >> Imagino que deve existir Rollback no Postgres, mas tentando ativar a >> propriedade "TransactIsolationLevel" no componete Zeos (ZConnection) ele >> diz: > > O PostgreSQL suporta transações e toda a mecânica para ACID, e há > muito mais tempo e de forma bem mais robusta que o MySQL. > > Resta ler a documentação da versão do Zeos que você usa para ver o que > está acontecendo, ou mesmo do adaptador do Zeos para PostgreSQL, que > pode não estar completamente implementado. Não sei, pois não conheço o > produto. Mas a falha está ou no uso, ou na escrita do Zeos, não no > PostgreSQL. > > Roberto > ___ > 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 Victor Hugo ___ 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] Dá para armazenar arquivos XML?
Olá Flávio, eu gravo em um campo do tipo Text. Fica armazenado como se fosse um arquivo texto. Att, Celso Lorenzetti www.sysrs.com.br - Original Message - From: ""Flávio R. Lopes"" To: "Comunidade PostgreSQL Brasileira" Sent: Saturday, August 21, 2010 8:49 PM Subject: Re: [pgbr-geral] Dá para armazenar arquivos XML? Olá Osvaldo, obrigado por sua resposta. Dei uma olhada na documentação que vc me enviou, mas não sei se entendi direito. Parece que nesta documentação há um tipo de "extração" de dados de dentro de um arquivo XML. Na verdade eu quero "jogar para dentro" do banco o arquivo inteiro, da mesma forma que você colocasse um arquivo tipo JPG dentro do Postgres. Tô falando asneira? Em 21-08-2010 18:27, Osvaldo Kussama escreveu: > Em 21 de agosto de 2010 18:19, "Flávio R. Lopes" > escreveu: > >> Olá pessoal. >> Sou novato com banco de dados (e aqui na lista) e desculpe se estou >> postanto bobagem aqui. >> >> Mas gostaria de saber se é possível armazenar arquivos em formato XML no >> PostgreSQL. >> >> É o seguinte: >> Gostaria de armazenar estes arquivos no banco para (obviamente) poder >> recuperá-los (ou consultá-los) posteriormente. >> Dentro destes arquivos, existe um campo único, vamos chamar aqui de ID, >> (para cada um destes arquivos) que pensei em usar como chave primária. >> Além disso para poder fazer um "filtro" melhor, também em delimitar as >> pesquisas (além do ID) pela data de geração destes arquivos. >> >> Enfim, dá pra fazer isto? >> >> > > Veja: > Tipo de dados XML: > http://www.postgresql.org/docs/current/interactive/datatype-xml.html > Funções para trabalhar com XML: > http://www.postgresql.org/docs/current/interactive/functions-xml.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 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Dá para armazenar arquivos XML?
De acordo, mas no meu caso é o XML da NF-e, que não pode nem deve ser alterado. Só gravo no banco para depois enviar por e-mail, e o dia que o fisco exigir, estar na mão. Mas com certeza, tens toda razão Euler. Att, Celso Lorenzetti - Original Message - From: "Euler Taveira de Oliveira" To: "Comunidade PostgreSQL Brasileira" Sent: Monday, August 23, 2010 3:16 PM Subject: Re: [pgbr-geral] Dá para armazenar arquivos XML? Celso escreveu: > eu gravo em um campo do tipo Text. > O tipo de dado xml foi criado exatamente para este propósito; se é documento xml então utilize o tipo xml. -- Euler Taveira de Oliveira http://www.timbira.com/ ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Dá para armazenar arquivos XML?
Olá Flávio, exatamente. cdsNotasNfe_xml_autorizacao.AsString := 'string'; Att, Celso Lorenzetti www.sysrs.com.br - Original Message - From: ""Flávio R. Lopes"" To: "Comunidade PostgreSQL Brasileira" Sent: Tuesday, August 24, 2010 12:29 PM Subject: Re: [pgbr-geral] Dá para armazenar arquivos XML? Olá Celso!...Sim!...é exatamente este o meu caso!!São os arquivos XML da NFe. Como vc grava estes arquivos no seu banco?...Usando tipo TEXT mesmo? grato, Flávio Em 24-08-2010 12:04, Celso escreveu: > De acordo, mas no meu caso é o XML da NF-e, que não pode nem deve ser > alterado. > > Só gravo no banco para depois enviar por e-mail, e o dia que o fisco > exigir, > estar na mão. > > Mas com certeza, tens toda razão Euler. > > Att, > > Celso Lorenzetti > > - Original Message - > From: "Euler Taveira de Oliveira" > To: "Comunidade PostgreSQL > Brasileira" > Sent: Monday, August 23, 2010 3:16 PM > Subject: Re: [pgbr-geral] Dá para armazenar arquivos XML? > > > Celso escreveu: > >> eu gravo em um campo do tipo Text. >> >> > O tipo de dado xml foi criado exatamente para este propósito; se é > documento > xml então utilize o tipo xml. > > > ___ 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] Auditoria em POstgreSQL -
Olá Emerson, Nós temos algo assim em nosse ERP (se for o usuário da aplicação). No Oracle você consegue setar um valor para uma variável de Sessão do usuário (na versão 9 do Post, pelo que entendi tem esse recurso tb). Mas resolvemos da seguinte forma. Quando o usuário se loga no sistema incluímos um registro em um tabela chamada sessoes, registrando o código do usuário na aplicação e o pg_backend_pid() da sessão. Assim quando precisamos saber, usamos a View abaixo para recuperar o usuário da sessão atual. Funciona certinho, o porém é que as vezes ficam registros perdidos na tabela, se o sistema não for encerrado corretamente (quando fecha o sistema, o registro é excluído). CREATE OR REPLACE VIEW vw_sessao AS SELECT sessoes.usr_usuario FROM sessoes WHERE sessoes.usr_sessao = pg_backend_pid(); Espero que seja isso que você procure. Att, Celso Lorenzetti www.sysrs.com.br - Original Message - From: Fábio Gibon - Comex System To: Comunidade PostgreSQL Brasileira Sent: Thursday, October 28, 2010 6:47 PM Subject: Re: [pgbr-geral] Auditoria em POstgreSQL - Olá Emerson, tem como detalhar melhor o que você precisa? E, adiantando, quando você fala usuário é usuário do banco (login role) ou usuário da sua aplicação? sds Fábio Gibon - Original Message - From: Emerson Martins To: pgbr-geral@listas.postgresql.org.br Sent: Thursday, October 28, 2010 4:20 PM Subject: [pgbr-geral] Auditoria em POstgreSQL - Opa pessoal. Tenho umas triggers de auditoria no sistema.Mas temos também um módulo de usuarios onde sabemos quem estar logado. Preciso de ajuda pra integrar as triggers ao modulo de usuários.Alguem ja implementou algo assim? Tow com esse problema pra resolver..Urgente.. Emerson Martins emersonmarti...@hotmail.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 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Auditoria em POstgreSQL -
Olá JotaComm, Sim associamos o usuário da aplicação com o pid da sessão, mas não o oid, no nosso caso o código do usuário da tabela de usuários da aplicação. Sobre existir em versões anteriores a 9.0 não sei, porque vi isso nas novidades da 9.0, então entendi que se é novidade, não existia. Att, Celso Lorenzetti www.sysrs.com.br - Original Message - From: JotaComm To: Comunidade PostgreSQL Brasileira Sent: Friday, October 29, 2010 9:56 AM Subject: Re: [pgbr-geral] Auditoria em POstgreSQL - Em 28 de outubro de 2010 20:15, Celso escreveu: Olá Emerson, Nós temos algo assim em nosse ERP (se for o usuário da aplicação). No Oracle você consegue setar um valor para uma variável de Sessão do usuário (na versão 9 do Post, pelo que entendi tem esse recurso tb). Sim, isso é possível, porém desde versões anteriores a 9.0, se eu entendi o que você quis dizer. Mas resolvemos da seguinte forma. Quando o usuário se loga no sistema incluímos um registro em um tabela chamada sessoes, registrando o código do usuário na aplicação e o pg_backend_pid() da sessão. Você quer dizer que associa o id do usuário do seu sistema com o pid da sessão que o usuário está conectado? É isso? Assim quando precisamos saber, usamos a View abaixo para recuperar o usuário da sessão atual. Funciona certinho, o porém é que as vezes ficam registros perdidos na tabela, se o sistema não for encerrado corretamente (quando fecha o sistema, o registro é excluído). CREATE OR REPLACE VIEW vw_sessao AS SELECT sessoes.usr_usuario FROM sessoes WHERE sessoes.usr_sessao = pg_backend_pid(); Espero que seja isso que você procure. Att, Celso Lorenzetti www.sysrs.com.br - Original Message - From: Fábio Gibon - Comex System To: Comunidade PostgreSQL Brasileira Sent: Thursday, October 28, 2010 6:47 PM Subject: Re: [pgbr-geral] Auditoria em POstgreSQL - Olá Emerson, tem como detalhar melhor o que você precisa? E, adiantando, quando você fala usuário é usuário do banco (login role) ou usuário da sua aplicação? sds Fábio Gibon - Original Message - From: Emerson Martins To: pgbr-geral@listas.postgresql.org.br Sent: Thursday, October 28, 2010 4:20 PM Subject: [pgbr-geral] Auditoria em POstgreSQL - Opa pessoal. Tenho umas triggers de auditoria no sistema.Mas temos também um módulo de usuarios onde sabemos quem estar logado. Preciso de ajuda pra integrar as triggers ao modulo de usuários.Alguem ja implementou algo assim? Tow com esse problema pra resolver..Urgente.. Emerson Martins emersonmarti...@hotmail.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 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral []s -- JotaComm http://jotacomm.wordpress.com -- ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Auditoria em POstgreSQL -
Nós também André, não é temporária. Att, Celso Lorenzetti www.sysrs.com.br - Original Message - From: André Volpato To: fabriziome...@gmail.com ; Comunidade PostgreSQL Brasileira Sent: Friday, October 29, 2010 10:38 AM Subject: Re: [pgbr-geral] Auditoria em POstgreSQL - Com isso ao realizar a conexão com o PostgreSQL, nossa aplicação imediatamente roda a "fc_startsession" e faz uma cópia do conteúdo da variável $_SESSION (usamos PHP) para dentro da "sessão do banco", e com isso toda informação que manipulamos em sessão a nível de aplicação fica disponível tb no banco de dados. Essas pls são simples, consistem em manipular pares de Chave/Valor... inclusive estamos testando uma forma de não usar tabelas temporárias para eliminar esse overhead. +1 usando essa mesma solução. Não uso tabelas temporárias, tenho uma tabela específica pra isso. Armazeno o conteúdo de _SESSION e busco usando o identificador de sessão (sessId). []´s, André Volpato -- ___ 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] PgSQL + Windows Vista
Esse assunto muito me interessa, pois aqui estão iniciando processo de migração para Vista. Se alguém puder ajudar ao Stefan - e a todos com certeza, ficaremos todos gratos. Celso - Original Message - From: Stefan Horochovec To: pgbr-geral@listas.postgresql.org.br Sent: Monday, May 07, 2007 8:23 AM Subject: [pgbr-geral] PgSQL + Windows Vista Ola a todos, Não sei se alguem já testou o Windows Vista, e junto com ele o PostgreSQL a instalação não funcionou, ela não conseguiu criar a conta do Postgres no sistema operacional. Alguem ja instalou o postgres, criando manualmente a conta de acesso ao sistema? Abraços -- Stefan Horochovec -- ___ 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] Comando CASE - PG 8.3.1 - Windows
Bom dia pessoal. Sempre utilizei o comando CASE, porém, como estou utilizando o PG 8.3.1 rodando com ODBC, deparei-me com algo curioso quando o campo em questão é do formato NUMERIC. Tenho o seguinte comando: EXEC SQL UPDATE PRODUTO SET PROD_CUSTONOVO = CASE WHEN :PROD_CUSTONOVOW = 0 THEN NULL ELSE :PROD_CUSTONOVOW END WHERE PROD_CODIGO= :PROD_CODIGOW END-EXEC ERROR: invalid input syntax for integer: "+0018.25" Quero que, caso o campo a gravar que é o PROD_CUSTONOVOW seja ZERO, que grave NULL na tabela de PRODUTOS. O que ocorre é que, como este campo é um NUMERIC(10:2), o comando dá erro. Não que dê erro usando o PGADMIN, mas dá erro na minha aplicacao que roda sob ODBC. Peguei o erro quando acionei o LOG do Banco e percebi que ele coloca ASPAS SIMPLES no campo, ou seja, tratando-o como se fosse um String. ..COMANDO QUE O PG RECEBE (PEGO PELO LOG) UPDATE PRODUTO SET PROD_CUSTONOVO=CASE WHEN '+0018.25'=0 THEN NULL ELSE '+0018.25' END WHERE PROD_CODIGO=3 ERROR: invalid input syntax for integer: "+0018.25" Se este comando CASE é executado com campos CHAR, INT, etc.. não dá erro. Porém, se o campo é um NUMERIC, dá este erro: ERROR: invalid input syntax for integer: Voces tem algo a comentar sobre este erro? Muito Obrigado. Celso Cardoso **Software Developer ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Comando CASE - PG 8.3.1 - Windows
On 4/10/08, Leandro DUTRA <[EMAIL PROTECTED]> wrote: > > 2008/4/10, Celso Cardoso <[EMAIL PROTECTED]>: > > ERROR: invalid input syntax for integer: "+0018.25" > > Mensagem autoexplicativa: o valor não é inteiro. > > Versões anteriores violavam o padrão ISO SQL ao fazer conversões > implícitas. > > -- Ok Leandro. Obrigado pela resposta. Porém, qual seria a sintaxe a ser usada se quero que, na hora do UPDATE, gravar NULL caso o conteúdo a ser gravado for Zero ? Pergunto isto pois isto só ocorre se faço a instrução (que sempre usei) usando o comando CASE. Obrigado. Celso Cardoso ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Comando CASE - PG 8.3.1 - Windows
On 4/10/08, Leandro DUTRA <[EMAIL PROTECTED]> wrote: > > 2008/4/10, Celso Cardoso [EMAIL PROTECTED]: O ideal seria 0 mesmo, NULL não é valor e deveria ser evitado sempre > que possível. > > Mas use o CASE para dar NULL quando for 0. > > -- Desculp-me Leandro, mas, não entendi. Voce escreveu acima "Mas use o CASE para dar NULL quando for 0." Este é o motivo do e-mail. Para campos NUMERIC estou tendo esta mensagem de erro: ERROR: invalid input syntax for integer: Gostaria de saber então o motivo do erro, sendo que isto não acontece em outros tipos de variáveis, como CHAR, INTEGER, DATE, etc.. Só acontece com NUMERIC e quando do uso do comando CASE. Celso Cardoso ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Restaurar Dados Pg
Caro colegas, Todas as vezes que tive a necessidade de restaurar meu (bd) aqui onde trabalho sempe faço o seguinet (psql nome_banco_dados -U usuario < nome_arquivo) ok funciona blz. porem agora tenho a necessidade de restaurar somente uma tabela do mesmo. desde já agradeço pelo ajuda. obs: as tabela de um (bd) postgre, elas tem extensões.___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Extensões mais úteis para o PostgreSQL
dbLink. De: pgbr-geral [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Marcelo Costa Enviada em: quarta-feira, 8 de janeiro de 2014 09:43 Para: Comunidade PostgreSQL Brasileira Assunto: [pgbr-geral] Extensões mais úteis para o PostgreSQL Pessoal, Estou aceitando dicas de extensões para o elefante que vocês considerem mais úteis em seu dia a dia. Basta apenas indicar a extensão sem precisar se extender explicando o motivo. Aguardo as respostas, estou escrevendo sobre isso para o InfoQ Brasil. Atte, Marcelo Costa - http://www.infoq.com/br/author/Marcelo-Costa ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Select retornando coluna com total de registros
Boa tarde Danilo, Window function resolve. Só não lembro qual a versão do Postgres que já tem isso. select cli_cliente, count(*) over(partition by cli_cliente order by cli_cliente) from nota_fiscal_saida; Att, Celso Lorenzetti www.sysrs.com.br De: pgbr-geral [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Danilo Silva Enviada em: sexta-feira, 28 de novembro de 2014 21:54 Para: pgbr-geral@listas.postgresql.org.br Assunto: [pgbr-geral] Select retornando coluna com total de registros Pessoal, Tenho um select que traz as colunas cliente e código da entrega, os registros são ordenados por cliente, é possível nesse mesmo select trazer o total de registros referentes ao cliente? Algo como: CLIENTE A | 1 CLIENTE A | 2 CLIENTE A | 3 CLIENTE B | 4 CLIENTE C | 6 CLIENTE C | 7 Queria que em uma terceira coluna retornasse a quantidade de registros, que no caso do CLIENTE A seria 3, CLIENTE B 1 e CLIENTE C 2, ficando algo como: CLIENTE A | 1 | 3 CLIENTE A | 2 | 3 CLIENTE A | 3 | 3 CLIENTE B | 4 | 1 CLIENTE C | 6 | 2 CLIENTE C | 7 | 2 Se eu utilizar um COUNT, serei obrigado a efetuar um GROUP BY, mas não serviria para o meu caso. []s Danilo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Configuração de Logs
Bom dia Leonardo, No arquivo postgresql.conf configure o parâmetro (vai logar tudo que for enviado para o banco): log_statement = 'all' # none, ddl, mod, all Vai logar de todas as conexões, mas como você disse que só você está conectado. Depois que ver as Querys pode desligar ele. Att, Celso Lorenzetti <http://www.sysrs.com.br> www.sysrs.com.br De: pgbr-geral [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Leonardo Coleraus Enviada em: quinta-feira, 18 de agosto de 2016 16:25 Para: Comunidade PostgreSQL Brasileira Assunto: [pgbr-geral] Configuração de Logs Boa Tarde, procurei na internet mas não consegui achar algo especifico, preciso configurar os logs do PostgreSQL, para que ele gere os logs apenas do IP que esta conectado nele, e que ele de todas as Query que ele esta gerando, pois estou com um relatório muito lento pra gerar, e como estou no servidor de Desenvolvimento, apenas o meu IP esta conectado ao banco, então quando eu gerar o relatório quero que gere os logs com as query desses relatório referente ao meu IP. -- ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Como descobrir as dependência de uma function/view no Postgresql 9.2?
Bom dia senhores, Estou tentando descobrir na pg_depend as dependências entre os objetos do banco de dados. O objetivo é exportar eles na ordem correta que devem ser criados/atualizados em outro banco de dados. Imagino que em algum lugar deva existir essa informação, visto que o pg_dump/pg_restore faz isso. Ou exista outro caminho para chegar neste objetivo. Abaixo criei 3 objetos simples para exemplicar e facilitar que puder ajudar. CREATE OR REPLACE VIEW vw_teste AS SELECT 1 AS emp_empresa; CREATE OR REPLACE VIEW vw_teste_2 AS SELECT emp_empresa FROM vw_teste; CREATE OR REPLACE FUNCTION fc_empresa() RETURNS INTEGER AS $BODY$ SELECT emp_empresa FROM vw_teste; $BODY$ LANGUAGE sql; O SQL abaixo retorna apenas o Schema como dependência e deveria retornar a vw_teste também. SELECT * FROM pg_depend where objid in (select oid from pg_class where relname = 'vw_teste_2'); Qualquer ajuda é bem vinda! Att, Celso Lorenzetti www.sysrs.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] RES: Como descobrir as dependência de uma function/view no Postgresql 9.2?
De: pgbr-geral [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Fabrízio de Royes Mello Enviada em: terça-feira, 27 de junho de 2017 10:05 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Como descobrir as dependência de uma function/view no Postgresql 9.2? Em 27 de junho de 2017 09:14, Celso - Gmail escreveu: > > Bom dia senhores, > > Estou tentando descobrir na pg_depend as dependências entre os objetos do > banco de dados. > O objetivo é exportar eles na ordem correta que devem ser criados/atualizados > em outro banco de dados. > Imagino que em algum lugar deva existir essa informação, visto que o > pg_dump/pg_restore faz isso. > > Ou exista outro caminho para chegar neste objetivo. > > Abaixo criei 3 objetos simples para exemplicar e facilitar que puder ajudar. > > CREATE OR REPLACE VIEW vw_teste AS SELECT 1 AS emp_empresa; > CREATE OR REPLACE VIEW vw_teste_2 AS SELECT emp_empresa FROM vw_teste; > > CREATE OR REPLACE FUNCTION fc_empresa() RETURNS INTEGER AS > $BODY$ >SELECT emp_empresa FROM vw_teste; > $BODY$ > LANGUAGE sql; > > O SQL abaixo retorna apenas o Schema como dependência e “deveria” retornar a > vw_teste também. > > SELECT * FROM pg_depend where objid in (select oid from pg_class where > relname = 'vw_teste_2'); > Essa informação de "dependência" entre os objetos é armazenada na tabela "pg_depend" [1] do catálogo. No wiki [2] tem uns exemplos de como usar ela para mostrar dependências entre objetos. Att, [1] https://www.postgresql.org/docs/current/static/catalog-pg-depend.html [2] https://wiki.postgresql.org/wiki/Pg_depend_display Olá Fabrízio, já estudei esse código e utilizo a pg_depend para alguns tratamentos, mas agora estava tentando evoluir minha ferramenta diff (como o Euler disse). O que achei curioso e que a consulta abaixo não retorna essa “dependência” entre as duas views. SELECT * FROM pg_depend where objid in (select oid from pg_class where relname = 'vw_teste_2'); Att, Celso Lorenzetti ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Como descobrir as dependência de uma function/view no Postgresql 9.2?
De: pgbr-geral [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Euler Taveira Enviada em: terça-feira, 27 de junho de 2017 10:26 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Como descobrir as dependência de uma function/view no Postgresql 9.2? Em 27 de junho de 2017 09:14, Celso - Gmail escreveu: Estou tentando descobrir na pg_depend as dependências entre os objetos do banco de dados. O objetivo é exportar eles na ordem correta que devem ser criados/atualizados em outro banco de dados. O pg_dump já exporta na ordem correta. Por que não usá-lo? Uma sugestão é fazer a cópia no formato custom (pg_dump -Fc), gerar uma lista de objetos com pg_restore (pg_restore -l), filtar essa lista com o objetos desejados (com sed, por exemplo) e usar essa nova lista para restaurar (pg_restore -L). Imagino que em algum lugar deva existir essa informação, visto que o pg_dump/pg_restore faz isso. Ou exista outro caminho para chegar neste objetivo. Abaixo criei 3 objetos simples para exemplicar e facilitar que puder ajudar. CREATE OR REPLACE VIEW vw_teste AS SELECT 1 AS emp_empresa; CREATE OR REPLACE VIEW vw_teste_2 AS SELECT emp_empresa FROM vw_teste; CREATE OR REPLACE FUNCTION fc_empresa() RETURNS INTEGER AS $BODY$ SELECT emp_empresa FROM vw_teste; $BODY$ LANGUAGE sql; Vale ressaltar que o postgres não sabe que a função fc_empresa tem como dependência a visão vw_teste. Para que a restauração não cause um erro (se ele restaurar a função antes do visão), é definido o parâmetro check_function_bodies como false; espera-se que ao final da restauração a visão também seja criada. O SQL abaixo retorna apenas o Schema como dependência e “deveria” retornar a vw_teste também. SELECT * FROM pg_depend where objid in (select oid from pg_class where relname = 'vw_teste_2'); Os objetos não se restringem a tabela, índice, sequência, visão, visão materializada, tipo composto ou tabela externa (que é armazenado no pg_class); outros objetos são armazenados em catálogos separados. Para isso você precisa consultar a coluna refclassid que indica o catálogo a ser consultado. Você terá que fazer vários OUTER JOINs para buscar todas as informações (o Fabrizio indicou em outro email uma consulta em [1] pode gerar as dependências). O que você está precisando é de uma ferramenta de diff. Existem algumas tais como apgdiff [2], pgcmp [3] e EMS DB Comparer [4]. Eu venho desenvolvendo a ferramenta pgquarrel [5]. Diferente de outras ferramentas, ela não depende de outros aplicativos (como pg_dump), compara todos os objetos do postgres (algumas ferramentas suportam somente alguns objetos), executa em diversos sistemas operacionais (testado em Linux, Windows e FreeBSD), além de funcionar em diferentes versões (>= 9.0). Apesar de estar funcional, pode conter bugs. Teste antes de aplicar em produção (execute o pgquarrel, aplica o diff gerado, compare os esquemas gerados pelo pg_dump). Reporte bugs em [5]. Boa tarde Euler, obrigado pela ajuda. O objetivo final é exatamente fazer um diff em bancos de produção (por isso o pg_dump não resolveria), é para atualizar a versão do nosso software nos clientes. Já fazemos desta forma a bastante tempo, a intenção agora era evoluir nossa “ferramenta” para tratar as dependências. Hoje isso é uma opção que é executada quando o software é atualizado e quando tem novas views e functions pode acontecer de criar fora da ordem necessária. O parâmetro check_function_bodies resolve o problema por outro caminho, obrigado. [1] https://wiki.postgresql.org/wiki/Pg_depend_display [2] https://www.apgdiff.com/ [3] https://github.com/cbbrowne/pgcmp [4] https://www.sqlmanager.net/en/products/postgresql/dbcomparer [5] https://github.com/eulerto/pgquarrel PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] RES: Comparativo Oracle x Postgres
Olá BetoKaizer, realmente o Forms e Report são bons, eu gostei tanto do Forms que desenvolvi um Framework com todas as características dele e algumas mais que facilitam a nossa vida no desenvolvimento. Assim tenho o melhor SGBD Free e uma excelente ferramenta de desenvolvimento. Att, Celso Lorenzetti Analista de Sistemas msn: [EMAIL PROTECTED] -- SysRS Tecnologia da Informação Ltda. www.sysrs.com.br - Original Message - From: "BetoKaizer_CPD_Reichert" <[EMAIL PROTECTED]> To: "Comunidade PostgreSQL Brasileira" Sent: Thursday, August 30, 2007 10:07 AM Subject: [pgbr-geral] RES: Comparativo Oracle x Postgres Fecho com nº e grau com o que vc diz, mas até agora não encontrei uma ferramenta de desenvolvimento para o postgres, igual ou parecido com forms e reports da oracle. É uma lástima... -Mensagem original- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] nome de icjunior07 Enviada em: Wednesday, 29 de August de 2007 21:57 Para: pgbr-geral Assunto: [pgbr-geral] Comparativo Oracle x Postgres Fala Galera, sobre este assunto de oracle x postgres (ou podemos dizer ate software proprietario x software livre), ja sofri muitas indagacoes do departamento de operacoes, ate mesmo alguns esculachos por estar desenvolvendo sistema com o postgres, pq se desse pau, pra quem eu ia recorrer? E claro que estas pessoas nao sabem o que dizem, nao tem conhecimento nem tecnico e nem se interessam em saber. Eu estou tirando a certificacao de Oracle tb, e cara, tirando algumas poucas diferencas que eles tem, pelo o que eu estudei e to estudando, o Postgres nao perde em praticamente nada para o Oracle. Claro, o Oracle tem algumas ferramentas que as vezes podem facilitar a vida do DBA, mas sinceramente, hoje em dia, pelo o tempo que eu ja trabalho com o Postgres, sou muito mais o Elefante Espero ter contribuido []´s Ismael Costa Junior Database Developer Linux ___ 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] Backup usando delphi 6 + Zeos + Postgres 8.1
7; + FormatDateTime('hh:nn:ss', Now) + SKIP + SKIP + 'Para restaurar:' + SKIP + '==' + SKIP + SKIP + ComoRestaurar; Mail.AttachedFiles.Add(arqZip); Mail.Recipients.Clear; Mail.Recipients.Add(email); Mail.Sendmail; end; end; end; finally DeleteFile(ArqBat); end; end; Att, Celso Lorenzetti Analista de Sistemas msn: [EMAIL PROTECTED] -- SysRS Tecnologia da Informação Ltda. www.sysrs.com.br - Original Message - From: Consultores Software To: pgbr-geral@listas.postgresql.org.br Sent: Thursday, September 20, 2007 11:32 AM Subject: [pgbr-geral] Backup usando delphi 6 + Zeos + Postgres 8.1 Bom dia pessoal ! Por acaso, alguem já implementou uma rotina de backup em base de dados postgres, via aplicativo feito em delphi, conectando à base via Zeos ? Como eu poderia fazer isto ? Obrigado, desde já. -- ___ 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] Atualizacao de Base de dados
Olá colegas, eu desenvolvi uma opção no nosso ERP que faz isso, embora somente de PostgreSql para PostgreSql, pois só utilizo ele. Não é muito avançado não, mas atualiza Tabelas, Colunas, Constraints, Sequences, Índices, Functions, Views e Triggers. Tem uma opção que gera Rules para inserir um log em uma tabela de tudo que for alterado ou excluído de todas as tabelas do sistema (muito útil). Com opção para gerar somente um script dos comandos, sem aplicar nada no SGBD. Estou disponibilizando um link no nosso site, para download, para quem se interessar. Tem uma dependência com uma dll (sistema.dll) que não me sobrou tempo para retirar ainda. Utilizo essa ferramenta a quase 2 anos em produção, e é 100% confiável. Quem baixar, na tela principal tem uma dica no menu ajuda, de como utilizar. o site é o www.sysrs.com.br Att, Celso Lorenzetti Analista de Sistemas msn: [EMAIL PROTECTED] -- SysRS Tecnologia da Informação Ltda. www.sysrs.com.br - Original Message - From: Thiago Risso To: Comunidade PostgreSQL Brasileira Sent: Wednesday, September 19, 2007 10:43 PM Subject: Re: [pgbr-geral] Atualizacao de Base de dados Gostaria de saber se alguem conhece alguma ferramenta que me ajude a atualizar minha base de dados nos meus clientes. Ex: meu modelo muda, crio novas tabelas e colunas, e gostaria de algo para me auxiliar a sincronizar essas bases quando eu atualizasse meu software. Alguem conhece algo? Isso seria uma mão na roda ... Att: Thiago Risso -- ___ 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] Estrutura da tabela
vc deve fazer isso no psql, não no pgadmin... Att, Celso Lorenzetti Analista de Sistemas msn: [EMAIL PROTECTED] -- SysRS Tecnologia da Informação Ltda. www.sysrs.com.br - Original Message - From: "Maikel Dal Farra" <[EMAIL PROTECTED]> To: Sent: Thursday, September 20, 2007 8:56 PM Subject: [pgbr-geral] Estrutura da tabela No pgAdimn ao digitar \d nome_tabela não mostra a estrutura da tabela, mas mostra erro: ERROR: syntax error at or near "\" O que pode estar havendo? se alguém puder ajudar agradeço muito. _ Chegou o Windows Live Spaces com rede social. Confira http://spaces.live.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] Diferença na estrutura de 2 bancos
Na nossa página também tem um, no link downloads. Att, Celso Lorenzetti Analista de Sistemas msn: [EMAIL PROTECTED] -- SysRS Tecnologia da Informação Ltda. www.sysrs.com.br - Original Message - From: "Thiago Risso" <[EMAIL PROTECTED]> To: "Comunidade PostgreSQL Brasileira" Sent: Wednesday, November 14, 2007 8:09 AM Subject: Re: [pgbr-geral]Diferença na estrutura de 2 bancos A EMS DB Comparer for PostgreSql [1] é muito bom para fazer isto. Pelo que notei, ele utiliza os catalogos para comparar as bases ... Muito bom ... Você ainda pode escolher o que quer comparar : tabelas, chaves, indices, triggers, functions, checks, types, etc ... É pago, mas tem licença trial por 30 dias... http://www.sqlmanager.net/products/postgresql/dbcomparer -- Att: Thiago Risso ___ 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] INSTRUÇÃO PARA SAIR DA LISTA...
É verdade, tudo os outros tem que fazer!!! Vai lá e tira o nome e pronto, precisa ficar mandando mail?? Tem que ter paciência Att, Celso Lorenzetti Analista de Sistemas msn: [EMAIL PROTECTED] -- SysRS Tecnologia da Informação Ltda. www.sysrs.com.br - Original Message - From: "Rafael Nunes Medeiros dos Santos" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]>; "Comunidade PostgreSQL Brasileira" Sent: Thursday, May 03, 2007 8:36 AM Subject: RES: [pgbr-geral] INSTRUÇÃO PARA SAIR DA LISTA... eu acho é que ta cheio de fresco aqui!!! ai.. tira meu email da lista!!! porraaa velho.. vai vc mesmo lá e tira.. agora fica mandando email feito umas bichinhas para encher a caixa da galera .fala sério.. ae .. o povo é do contra demais..é por isso que o brasil não vai para frente..!!! Att, Rafael Nunes I'm free - Linux -Mensagem original- De: Nabucodonosor Coutinho [mailto:[EMAIL PROTECTED] Enviada em: quarta-feira, 2 de maio de 2007 21:31 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] INSTRUÇÃO PARA SAIR DA LISTA... outra coisa que achp que nao vai dar certo eh pq juntaram as 2 listas. o grupo postgresql-br (pessoal da lista do yahoo) já demonstrou prefere estar separado de usuarios iniciantes que era o foco da lista brasil usuarios. Em 02/05/07, gethostbyname<[EMAIL PROTECTED]> escreveu: Eu acho que este problema está ocorrendo porque há pessoas que ativam a função de apenas ler as mensagens do grupo na interface web do yahoo groups. gethostbyname Eloir Viecelli wrote: Eu tambem entendi isso... foi feito uma migração da lista no yahoo... Quem esta NESTA LISTA se cadastrou la... Para o pessoal que quer sair veja o email do Euler abaixo de COMO REMOVER seu email da lista... "Olá pessoal, Acho que a maioria de vocês não leu o e-mail de boas-vindas que contém esta explicação aqui. As listas sobre PostgreSQL do Yahoo! Groups e pgfoundry foram unificadas. Quem estava cadastrado em alguma delas foi cadastrado automaticamente nesta nova lista (pgbr-geral). O intuito da unificação das listas é fortificar a comunidade PostgreSQL Brasileira. E-mails para esta lista devem ser enviados para pgbr-geral@listas.postgresql.org.br; atualizem os seus contatos. Caso não queira assinar mais esta lista (pgbr-geral) siga as instruções em [1] para se desinscrever. [1] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Euler Taveira de Oliveira http://www.timbira.com/ " ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Nabucodonosor Coutinho Database Administrator Accu Hosting - www.accuhosting.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 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] ERP em Postgres
Na empresa onde eu trabalho utilizamos um ERP com banco de dados Postgres. Pretendemos hospedar o banco de dados em um DC que ofereça suporte a este banco. O Google não listou nenhuma empresa. Alguém poderia indicar alguma? CJS Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] ERP em Postgres
Olá, Nosso foco é em um DC que mantenha o PostgreSQL, inclusive a administração do servidor. Através de indicações avaliei alguns sites, porém, mereceu minha atenção o site da Net4biz, que além de hospedagem de páginas Web, fornece hospedagem e administração de base de dados em Postgres, mas, estou avaliando outros DCs. --- Em ter, 19/1/10, JotaComm escreveu: De: JotaComm Assunto: Re: [pgbr-geral] ERP em Postgres Para: "Comunidade PostgreSQL Brasileira" Data: Terça-feira, 19 de Janeiro de 2010, 8:36 Olá, 2010/1/18 Celso Jose Salustiano Na empresa onde eu trabalho utilizamos um ERP com banco de dados Postgres. Pretendemos hospedar o banco de dados em um DC que ofereça suporte a este banco. O Google não listou nenhuma empresa. Alguém poderia indicar alguma? Vocês desejam um DC com suporte para PostgreSQL ou vocês apenas tem interessam de locar um Data Center e vocês cuidariam da administração do PG? CJS Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 10 - Celebridades - Música - Esportes ___ 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 -Anexo incorporado- ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Off - Ajuda com SQL
Bom dia colegas, preciso da ajuda de algum colega em algo que parece bem simples, mas não estou encontrando nenhuma referência sobre o assunto. Imagino que deva existir algum algorítmo para isso... mas não sei por onde começar a procura. Abaixo tenho uma relação de cheques e seus valores. A quantidade quer dizer que tenho 22 cheques de R$ 1521,00 e assim por diante. Preciso agrupar eles em grupos que formem R$ 6.480,00 ou o mais próximo possível. Valor Quantidade de cheques 1521 22 1336 3 1318 2 1216 3 1210 5 1070 8 997 3 987 5 Se eu pegar um de 1521 + 1336 + 1318 + 1318 + 987 = 6480 –>>Perfeito Agora considerando só o que sobrou, repetir o processo... O problema é encontrar uma lógica que descubra quais cheques utilizar para chegar o mais próximo dos R$ 6.480,00 Esses valores estão em um tabela, com um registro para cada cheque. Tipo tem 22 registros para os cheques de 1521, 3 para os de 1336 e assim por diante. Algum colega tem alguma luz para me dar? Muito obrigado. Att, Celso Lorenzetti (51) 3524-7405 / 8531-3100 www.sysrs.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] Fw: Off - Ajuda com SQL
Não sei porque antes, o meu respoder não foi para a lista... agora enviando para todos. Grande Dickson, é exatamente isso. O caminho das pedras está dado, agora vamos ver onde consigo chegar.. Muito obrigado. Att, Celso Lorenzetti (51) 3524-7405 / 8531-3100 www.sysrs.com.br -Mensagem Original- From: Dickson S. Guedes Sent: Friday, April 20, 2012 9:17 AM To: Celso Lorenzetti (GMail) ; Comunidade PostgreSQL Brasileira Subject: Re: [pgbr-geral] Off - Ajuda com SQL Em 20 de abril de 2012 09:01, Celso Lorenzetti (GMail) escreveu: > preciso da ajuda de algum colega em algo que parece bem simples, mas não > estou encontrando nenhuma referência sobre o assunto. > Imagino que deva existir algum algorítmo para isso... mas não sei por onde > começar a procura. Será que é mais ou menos isso [1] que você precisa? [1] http://pt.wikipedia.org/wiki/Problema_da_mochila []s Dickson S. Guedes mail/xmpp: gue...@guedesoft.net - skype: guediz http://guedesoft.net - http://www.postgresql.org.br ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Gerar um arquivo XML de dentro de um(a) Trigger
Boa noite lista, Não sei se estou querendo algo impossível, mas não custa perguntar para quem entende mais que a gente. Preciso sincronizar o estoque dos produtos que está no ERP com o estoque do E-Commerce!! Como não é viável fazer on-line, será via arquivos xml. Pois bém, gostaria de criar um(a) trigger na tabela que tem o saldo atual do produto, e sempre que o registro for alterado (e pode ser alterado por vários processos dentro do ERP) gerar um arquivo xml com o código do produto e o saldo. Seria algo como o log do próprio postgresql. É viável isso de alguma forma? Agradeço qualquer ajuda. Att, Celso Lorenzetti (51) 3524-7405 / 8531-3100 www.sysrs.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] Fwd: Gerar um arquivo XML de dentro de um(a) Trigger
Desculpe Leandro, dei um responder, não sei porque foi direto para você Encaminhei para a lista novamente. Obrigado. Att, Celso Lorenzetti (51) 3524-7405 / 8531-3100 www.sysrs.com.br -Mensagem Original- From: Guimarães Faria Corcete DUTRA, Leandro Sent: Friday, August 31, 2012 2:38 PM To: Comunidade PostgreSQL Brasileira Subject: [pgbr-geral] Fwd: Gerar um arquivo XML de dentro de um(a) Trigger Por favor mantenha as discussões na lista… -- Forwarded message -- From: Sysrs Date: 2012/8/31 Subject: Re: [pgbr-geral] Gerar um arquivo XML de dentro de um(a) Trigger To: "Guimarães Faria Corcete DUTRA, Leandro" Boa tarde Leandro, abaixo... -Mensagem Original- From: Guimarães Faria Corcete DUTRA, Leandro Sent: Thursday, August 30, 2012 10:32 PM To: Celso Lorenzetti (GMail) ; Comunidade PostgreSQL Brasileira Subject: Re: [pgbr-geral] Gerar um arquivo XML de dentro de um(a) Trigger 2012/8/30 Celso Lorenzetti (GMail) : > > > Preciso sincronizar o estoque dos produtos que está no ERP com o estoque > do > E-Commerce!! Falta informação… O ERP que está instalado no cliente, tem o estoque atual de cada produto, e o site, terá sua base de dados própria, com o estoque atual também. Porém são dois banco de dados, e o estoque é o mesmo. O nosso ERP utiliza o Postgresql, o site utiliza MySql. > Como não é viável fazer on-line, será via arquivos xml. Por que não? Porque no site vai haver vendas 24x7 e o ERP não vai estar/poderá não estar no ar 24x7, por isso não pode ser on-line e também por serem banco de dados diferentes. Mas o problema mesmo é que a empresa não tem uma internet confiável, então alguém pode fazer uma compra no site e o ERP (a internet na verdade) não estar disponível. Aí o site não poderia fazer a venda, por isso será via arquivos o processo de sincronização. > Pois bém, gostaria de criar um(a) trigger na tabela que tem o saldo atual > do > produto, > e sempre que o registro for alterado (e pode ser alterado por vários > processos dentro do ERP) gerar um arquivo xml com o código do produto e o > saldo. E qual a dificuldade? A dificuldade é: como gerar um arquivo de dentro de um trigger. Essa é a idéia, a solução pode até ser outra, mas teria que ser algo no banco de dados. Senão em cada opção que movimenta o estoque no ERP, teremos que controlar para gerar o arquivo xml. Consegui explicar melhor? ___ 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] Gerar um arquivo XML de dentro de um(a) Trigger
Bah, que show!!! Era isso mesmo Daniel, não gerei o xml ainda, gerei um arquivo texto mesmo, só para testar e funcionou que é uma beleza. Agora é só ajustar os detalhes que preciso. Muitíssimo obrigado. Att, Celso Lorenzetti (51) 3524-7405 / 8531-3100 www.sysrs.com.br -Mensagem Original- From: Daniel Gaspary Sent: Friday, August 31, 2012 3:02 PM To: Comunidade PostgreSQL Brasileira Subject: Re: [pgbr-geral] Gerar um arquivo XML de dentro de um(a) Trigger 2012/8/30 Celso Lorenzetti (GMail) : > É viável isso de alguma forma? > > Agradeço qualquer ajuda. Talvez usando Copy[1] para gravar em arquivo e as funções de XML[2] se precisar. [1] http://www.postgresql.org/docs/current/interactive/sql-copy.html [2] http://www.postgresql.org/docs/9.1/interactive/functions-xml.html ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] SALVAR ARQUIVOS NO POSTGRES
Caro Junior, Eu utilizo o lo (large object) para armazenar arquivos dentro do banco. Dê uma olhada nesse material, me ajudou bastante: http://pgdocptbr.sourceforge.net/pg80/largeobjects.html Qualquer dúvida estamos aí. Atenciosamente, -- Celso Henrique Mendes Ferreira Analista de Requisitos www.itecgyn.com.br 2008/1/14, junior Prado <[EMAIL PROTECTED]>: > > Galera, > > No mysql e no oracle o tipo de dados para salvar arquivos é BLOB. Depois > de algumas consultas, verifiquei que no postgres e OID ou bytea. Alguém > poderia me dizer as diferenças de ambos e qual o usado para salvar arquivos? > > > Att. > -- > Valter Cezar Prado Junior > Analista TI > > Sem saber como fazer ele fez! > ___ > 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] Herança
Boa tarde pessoal, Vi alguns posts passados questionando a herança na nova versão 8.3 e pelo que entendi não melhorou e nem vai melhorar. Bem... há algum tempo eu fui forçado (monografia) a modelar um banco que ficasse implementado o conceito de herança. No PG estava indo legal até que vieram os problemas de integridade referencial, procurei ajuda e percebi que herança no PG era uma "bomba". Coloquei os miolos para funcionar e o Tico-e-Teco me deram uma idéia de implementação, daí estou passando em anexo um script de como eu consegui implementar o conceito de herança. Para o que eu precisava serviu legal e até agora não deu problema e talvez, quem sabe, essa idéia consiga ajudar alguém. Atenciosamente, -- Celso Henrique Mendes Ferreira Analista de Requisitos www.itecgyn.com.br herança.sql Description: Binary data ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Herança
Diogo, Eu concordo que não atentei para o detalhe da Especialização/Generalização. Assumindo a OO eu não precisaria dos campos nome, cpf e dtnascimento nas tabelas filhas, apenas uma chave estrangeira de relacionamento. Assim, qualquer alteração na estrutura desses campos poderia ser feita direto na tabela mãe, o que não poderia ser feito com o esquema que criei, pois nele eu teria que alterar não só a mãe, mas em todas as filhas. Um detalhe que não comentei é que essa implementação foi feita baseada no funcionamento de herança dentro do próprio PG, onde um registro numa tabela filha é automaticamente inserido na tabela mãe. Vendo pela Especialização/Generalização percebo que a estrutura fica mais simples e flexível, tornando as triggers completamente desnecessárias. Só que isso não é nada além de normalização de banco de dados, daí penso o seguinte: qual a dificuldade que os desenvolvedores têm em corrigir o problema de herança no PG? -- Celso Henrique Mendes Ferreira Analista de Requisitos www.itecgyn.com.br Em 26/02/08, Diogo Biazus <[EMAIL PROTECTED]> escreveu: > > > Em 26/02/2008, às 00:37, Euler Taveira de Oliveira escreveu: > > > Celso Henrique Mendes Ferreira wrote: > > > >> Para o que eu precisava serviu legal e até agora não deu problema e > >> talvez, quem sabe, essa idéia consiga ajudar alguém. > >> > > Mas isso *não* é herança. É de certo modo uma "replicação parcial" das > > tabelas do banco de dados. > > De acordo com o Euler, porque replicar os atributos de pessoa (cpf e > dtnascimento) em aluno por exemplo? > Acho que se mapearmos os conceitos OO da seguinte forma: > > Classe -> Variável de relação > Atributo de classe -> Atributo de relação > Objeto -> Tupla > Composição de objetos -> Relacionamentos > > O conceito mais próximo da herança no banco relacional será > especialização/generalização. > > PS.: Se alguém me acusar de estar cometendo um grande erro de > mapeamento (como no livro do date) vou responder que não proponho um > banco relacional/oo mas um mapeamento mais "solto" entre um SGBDR puro > e modelagem OO (e uma definição bem geral de classes). > > -- > Diogo Biazus > [EMAIL PROTECTED] > http://www.softa.com.br > http://www.postgresql.org.br > > ___ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Iniciante
Boa tarde Janderson, O PostgreSQL é case sensitive, se você criou uma tabela com algum caractere maiúsculo será necessário que coloque o nome da tabela entre aspas dupla, do contrário isso não é necessário. A linguagem SQL no geral é a mesma, mudam alguns detalhes como por exemplo o limite de registros na consulta, no MS-SQL é TOP no início da consulta, já no PostgreSQL é LIMIT no final da consulta, mas isso são detalhes que você vai aprender com o tempo. Sobre o material, sugiro dar uma olhada no conteúdo da página oficial brasileira: http://www.postgresql.org.br/docs <http://www.postgresql.org.br/docs>Atenciosamente, -- Celso Henrique Mendes Ferreira Analista de Requisitos www.itecgyn.com.br 2009/12/16 Janderson Matos > Olá Pessoal, > > Meu primeiro post. Não tenho muito contato com bancos de dados, mas > lá vai uma rápida historinha: > > Tenho apenas um sistema desenvolvido em Delphi 7 (a muito tempo) com > Interbase 6 (free) e hoje encontro-me numa situação que tenho que > desenvolver > um segundo sistema. Andei testando o MySQL e gostei de sua simplicidade. > Como a última versão dos componentes Zeos (6.6.5) somente o suportam até > a versão 5.0, decidi procurar por um outro BD. E qual foi a decisão? Bem, > acho > que é por isso que estou aqui. > > Não tinha conhecimento a respeito do PostgreSQL, e após ler sobre o mesmo > fiquei tentado a experimentá-lo. Achei interessantíssimo os relatos de > casos > de sucesso do uso de software Livre pelo Metrô de SP, inclusive o uso do > PostgreSQL. > > Bem... vamos lá... estou estranhando (e muito) a DML no uso PostgreSQL, > até mesmo para um simples SELECT tive que colocar entre aspas duplas o > nome da tabela a qual estava pesquisando, entre outras coisas. > > Alguém sabe de algum PDF ou uma página onde eu possa ler um "resumão" > sobre as diferenças entre a DML utilizada em outros bancos (como no caso do > IB, MySQL, etc) e a utilizada no PostgreSQL ??? > > Tentei encontrar algo a respeito no Manual mas não encontrei. Existe alguma > documentação somente sobre a DML no PostgreSQL ??? > > Abraços a todos, > > Janderson > > > ___ > 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] Iniciante
Janderson, O mesmo também se aplica aos campos e outros componentes do banco. Sobre esse assunto, temos essa documentação específica: http://pgdocptbr.sourceforge.net/pg80/sql-syntax.html#SQL-SYNTAX-IDENTIFIERS <http://pgdocptbr.sourceforge.net/pg80/sql-syntax.html#SQL-SYNTAX-IDENTIFIERS> Atenciosamente, -- Celso Henrique Mendes Ferreira Analista de Requisitos www.itecgyn.com.br 2009/12/16 Janderson Matos > Caramba !!! Funcionou !!! passei o nome da tabela para minúsculo e > funcionou !!! > Obrigado JotaComm, frozza e Celso pelas dicas. Vou procurar ler textos > através > dos links que me passaram... espero que tenham paciência comigo, estou > gostando > muito do que estou lendo a respeito do PostgreSQL... > > frozza e Celso; O mesmo se aplica aos nomes dos campos na tabela ? > > Janderson > > > ___ > 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