Re: [pgbr-geral] Autovacuum não é o inimigo! [Ajuda pra revisar tradução]
Em 14 de novembro de 2016 18:06, Sebastian Webberescreveu: > > > Em 14 de novembro de 2016 16:01, Daniel Luiz da Silva < > daniel.si...@ipm.com.br> escreveu: > > >> Valeu Seba, >> > > :) > > >> >> Ficou boa tradução, a ideia principal ficou acessível para compreensão. >> Só não entendi a frase "...A média de densidade da folha é a porcentagem >> do uso da página de índice de folha". >> > > Essa frase (The average leaf density is the percentage of index leaf page > usage) foi um desafio. =/ > > Alguma outra sugestão? > Sugestão: A densidade média da folha é o percentual de uso da página do índice da folha. > ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] função: como criar series sem que se multipliquem
Já que está usando pl/pgsql por que não fazer um loop FOR ? algo como FOR i IN 1..100 LOOP INSERT INTO sch_ambiente.escv_incendios_puntos_muestreo( poi_code, fir_code, fir_name, geom) VALUES ( i , new.fir_code , new.fir_name , (select ) ); END LOOP; Em 5 de abril de 2011 05:40, Eloi Ribeiro eloi.ribe...@gmail.com escreveu: Ola à lista, Tenho o seguinte disparador para quando faço um INSERT de um novo registo (polígono incêndio florestal) me crie 100 pontos regulares noutra tabela. A dificuldade que encontro é em numerar esses pontos de 1 a 100, porque cada vez que tento meter um generate_series(1,100) multiplica-me os 100 pontos pela serie (de 1 a 100) e fico com 1 pontos. Entendo que esse seja o resultado lógico, embora não o desejado. Alguém tem uma sugestão para que isto não ocorra? --DROP TRIGGER trg_escv_incendios_todos_subtablas ON sch_ambiente.escv_incendios_todos; --DROP FUNCTION sch_ambiente.trg_escv_incendios_todos_subtablas(); CREATE OR REPLACE FUNCTION sch_ambiente.trg_escv_incendios_todos_subtablas() RETURNS trigger AS $BODY$ BEGIN IF (TG_OP = 'DELETE') THEN DELETE FROM sch_ambiente.escv_incendios_puntos_muestreo WHERE fir_code = OLD.fir_code; ELSIF (TG_OP = 'UPDATE') OR (TG_OP = 'INSERT') THEN -- elimina anteriores para evitar repetidos DELETE FROM sch_ambiente.escv_incendios_puntos_muestreo WHERE fir_code = NEW.fir_code; -- Puntos de muestreo INSERT INTO sch_ambiente.escv_incendios_puntos_muestreo( -- poi_code - CAMPO SERIE DE 1 A 100 fir_code, fir_name, geom) (SELECT -- generate_series(1,100) - SERIE DE 1 A 100 NEW.fir_code, NEW.fir_name, t1.geom FROM (SELECT tx.fir_code, ST_Setsrid(ST_MakePoint(tx.x, ty.y), 23030) AS geom FROM (SELECT NEW.fir_code AS fir_code, generate_series( (SELECT cast(ST_XMin(ST_Envelope(geom_23030)) AS int) FROM sch_ambiente.escv_incendios_todos WHERE fir_code=NEW.fir_code)+((SELECT cast(sqrt(ST_Area(geom_23030)/100) AS int) FROM sch_ambiente.escv_incendios_todos WHERE fir_code=NEW.fir_code)/2), (SELECT cast(ST_XMax(ST_Envelope(geom_23030)) AS int) FROM sch_ambiente.escv_incendios_todos WHERE fir_code=NEW.fir_code), (SELECT cast(sqrt(ST_Area(geom_23030)/100) AS int) FROM sch_ambiente.escv_incendios_todos WHERE fir_code=NEW.fir_code)) AS x) AS tx JOIN (SELECT NEW.fir_code AS fir_code, generate_series( (SELECT cast(ST_YMin(ST_Envelope(geom_23030)) AS int) FROM sch_ambiente.escv_incendios_todos WHERE fir_code=NEW.fir_code)+((SELECT cast(sqrt(ST_Area(geom_23030)/100) AS int) FROM sch_ambiente.escv_incendios_todos WHERE fir_code=NEW.fir_code)/2), (SELECT cast(ST_YMax(ST_Envelope(geom_23030)) AS int) FROM sch_ambiente.escv_incendios_todos WHERE fir_code=NEW.fir_code), (SELECT cast(sqrt(ST_Area(geom_23030)/100) AS int) FROM sch_ambiente.escv_incendios_todos WHERE fir_code=NEW.fir_code)) AS y) AS ty ON tx.fir_code = ty.fir_code) AS t1, sch_ambiente.escv_incendios_todos AS t2 WHERE t2.fir_code = NEW.fir_code AND (t1.geom t2.geom_23030) AND ST_Intersects(t1.geom, t2.geom_23030)) LIMIT 100; END IF; RETURN NULL; END; $BODY$ LANGUAGE plpgsql; CREATE TRIGGER trg_escv_incendios_todos_subtablas AFTER INSERT OR UPDATE OR DELETE ON sch_ambiente.escv_incendios_todos FOR EACH ROW EXECUTE PROCEDURE sch_ambiente.trg_escv_incendios_todos_subtablas(); Obrigado, Eloi Ribeiro GIS Analyst 39,45º -4,40º http://eloiribeiro.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] Replicar dados entre bancos diferentes.
Em 26 de agosto de 2010 11:20, Eder Sousa ederso...@gmail.com escreveu: tah.. mas o software atual da empresa utiliza este banco de dados ... inicialmente irei migrar algumas tabelas para o postgresql... que são as que vou utilizar... gradativamente... até matar de vez o pervasive Existe um replicador que permite fazer replicação entre bancos de dados diferentes http://www.object.com.br/content/view/26/40/ Atualmente o Pervasive não está entre os bancos, mas sei que o desenvolvedor da ferramenta está aberto a implementação de novos recursos. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Windows 7
2010/1/17 Tiago Adami adam...@gmail.com: Com campos do tipo date nunca tive problemas, mesmo com as versões mais recentesostgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Fiquei curioso agora. Qual a versão do seu VFP? Você utiliza comandos SQL passando o *ponteiro* das variáveis, ou converte seus valores em texto para enviar ao banco? Possuo sistemas com VFP 8 e 9 acessando o Postgres, Mas creio que cheguei a usar o VFP 7 quando começamos a utilizar o Postgres com o VFP Por exemplo, considerando os códigos A e B abaixo (escritos em VFP) tomando por referência uma tabela fictícia chamada *dados* onde existam dois campos *codigo* e *data*: A) Passando ponteiro das variáveis nCodigo = 1 dData = {08/01/1984} cSQL = SELECT * FROM dados WHERE codigo = ?nCodigo AND data = ?dData ** (...) B) Passando o valor das variáveis nCodigo = 1 dData = {08/01/1984} cSQL = SELECT * FROM dados WHERE codigo = +STR(nCodigo)+ AND data = '+PADL(YEAR(dData),4,0)+-+PADL(MONTH(dData),2,0)+-+PADL(DAY(dData),2,0)+' ** (...) Dos exemplos que citei, utilizando o driver na versão 8+, o código *A* não funciona. Somente com aquele driver na versão 7. Ah, agora você me refrescou a memória, creio que realmente tivemos problemas quando utilizamos a primeira forma. Só que ai fizemos umas classes para fazer da 2a forma e como nunca mais utilizamos com variaveis nem me lembrava mais deste problema... Sorry ;) Então resumindo, aqui nós sempre passamos a sentença final, como a que se utilizaria para rodar a query num psql ou no pgAdmin, usando desta forma, os resultados voltam com os tipos de dados esperados. E como tivemos problemas com o uso de variáveis no começo, não utilizamos mais desta forma e portanto não tenho conhecimento de causa sobre os problemas existentes atualmente no uso do driver ODBC desta maneira no VFP. Sua informação deve ser a mais correta neste cenário ;) ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Nao inicia serviço postgresq for wi ndows 8.3
fiz as alteracoes mesmo assim nao inicia!! Sugiro verificar se consegue mais informações nos logs do postgres que normalmente ficam numa pasta chamada pg_log dentro da pasta do banco de dados , na instalação padrão deve ser a pasta data do diretório onde o postgres foi instalado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Windows 7
2010/1/10 Tiago Adami adam...@gmail.com: No caso do Visual Foxpro, se utilizar um driver ODBC versão 8, os campos do tipo *date* não são reconhecidos quando você faz um SELECT, e ao passar um campo deste tipo como argumento de um comando SQL ele faz o auto-casting para o tipo Timestamp (isto é bastante visível ao chamar functions no banco). Trocando em miúdos, ao passar uma variável do tipo date para um comando SQL como um argumento (usando o seu nome dentro do comando sql com uma interrogação à frente, algo parecido com o PreparedStatement do Java), quando funciona, recebe valores totalmente anormais no formato timestamp. Utilizo o postgres com VFP e com ODBC 8.01.0200 que foi a ultima antes da que fez a mudança para depender menos da libpq (se não me engano, não lembro o motivo direito que os desenvolvedores da ODBC deram). Com campos do tipo date nunca tive problemas, mesmo com as versões mais recentes, mas o que me deu dor de cabeça foi o suporte aos campos com definição de tipo que utilizam domains. Estes retornavam dados ignorando o tipo primitivo. Creio que este problema em especifico foi resolvido na ultima versão lançada, mas não pude testar isso. O colega Forsell - Erlon poderia fazer um teste para ver se é problema de ODBC mesmo simplesmente fazendo algumas consultas via psql ou mesmo com o pgAdmin. Se for ODBC tenta outras versões, quem sabe... Just my 2 cents. ___ 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 restauro do banco
2009/4/26 Carlos Madsen carlos.mad...@gmail.com: Olá pessoal, estou com o seguinte problema, preciso restaurar um banco (no Window XP :( ) mas só tenho o diretório “data”. Instalei a mesma verão do banco “8.2”, parei o banco e substitui o diretório “data”, iniciei o banco novamente, mas o pgadmin3 diz que o banco não está escutando. Sei que tem um comendo para dar permissão a pasta data para o usuário postgres no windows, procurei em todo o lugar, inclusive na lista mas não achei nada. Se alguém pudesse me dar uma dica agradeceria. Abra o Windows Explorer , vá em Ferramentas -Opções de Pasta selecione a aba Modo de Exibição, localize e desmarque a opção: Usar compartilhamento simples de arquivo Aplique a modificação clickando em Ok Depois vá na pasta data e clique com o botão direito - Propriedades - Aba Segurança Clique em Avançado, verifique se o usuario postgres aparece na lista dos usuarios na aba Permissões senão aparece clique em adicionar e adicione o usuario, quando aparecer a caixa de seleção de permissões selecione permitir em todos os itens menos as opções controle total, excluir subpastas e arquivos, alterar permissoes e apropriar-se Certifique-se que o combobox Aplicar em: esteja selecionado Esta pasta,subpastas e arquivos e seja feliz. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Socorro !!!
2008/9/11 Brasil Software [EMAIL PROTECTED]: Pessoal, estou com um grande problema, o meu servidor postgresql (Win2003) está parando constantemente. Depois de uma replicação de dados em dois DBs banco001 para banco002 com DBLink, detalhe: isso aconteceu depois que foi incluido em uma tabela um campo do tipo text. O servidor funciona normalmente durante o dia, mas quando chega no final do dia o mesmo apresenta os seguintes erros: 2008-09-10 18:01:54 LOG: could not receive data from client: Unknown winsock error 10061 2008-09-10 18:01:54 LOG: unexpected EOF on client connection 2008-09-10 18:15:20 LOG: could not receive data from client: Unknown winsock error 10061 2008-09-10 18:15:20 LOG: unexpected EOF on client connection 2008-09-10 21:50:31 ERROR: could not establish connection 2008-09-10 21:50:31 DETAIL: could not connect to server: No buffer space available (0x2747/10055) Is the server running on host 10.10.1.250 and accepting TCP/IP connections on port 5432? 2008-09-10 21:50:31 STATEMENT: SELECT uf.codigo, uf.nome, uf.sigla FROM (estado uf LEFT JOIN (SELECT * FROM DBLINK('dbname=banco001 host=10.10.1.250 user=acesse password=acesse2006 port=5432','SELECT codigo FROM estado') AS tab(codigo Integer)) tmp ON uf.codigo = tmp.codigo) WHERE tmp.codigo IS NULL 2008-09-10 21:50:46 ERROR: could not establish connection 2008-09-10 21:50:46 DETAIL: could not connect to server: No buffer space available (0x2747/10055) Is the server running on host 10.10.1.250 and accepting TCP/IP connections on port 5432? Alguém pode me ajudar ? Mais algumas hipoteses, já que vc oferece poucos detalhes que podem ser relevanes para a solução do seu problema: - Switch desligando, e o windows desativando a configuração TCP/IP dessa maquina. - Maquina configurada para receber IP por DHCP e quando atinge o tempo de lease time, renova o ip (mas imagino que deveria estar configurada para sempre receber o mesmo ip sempre ne?) Como disse, são só hipoteses ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Exportar de um esquema de um banco para para outro esquema em outro banco
Não testei isso, mas uma outra ideia seria usar o comando ALTER SCHEMA public RENAME TO e2; fazer do dump e voltar o nome do schema para o nome original... 2008/8/27 [EMAIL PROTECTED] Jovem ribamar Tente pg_dump .. | sed 's/public/esquema_novo/g' dump.sql pg_dump -U usuario -d banco | sed 's/public/xteca/g' xteca.sql Funcionou beleza João. Valeu! ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Exportar de um esquema de um banco para para outro esquema em outro banco
Pensei em algo mais ou menos assim: alterar o nome do schema public no banco original para o nome do schema que ele tera no banco destino. fazer o pg_dump deste schema (que agora já esta com o nome que sera utilizado no banco destino) e entao restaurar este dump no banco destino. Isto, claro for possivel parar um pouco as aplicacoes que acessam este banco. Outra possibilidade seria restaurar o backup como public mesmo e depois renomear o schema public no banco destino para o nome desejado. algo como ALTER SCHEMA public RENAME TO public_original; -- Cria um novo esquema public CREATE SCHEMA public; depois fazer o restore do schema public do banco xteca neste novo schema public e entao renomear os schemas para o formato final: ALTER SCHEMA public RENAME TO e2; ALTER SCHEMA public_original RENAME TO public; São só ideias 2008/8/27 Ribamar Sousa [EMAIL PROTECTED]: 2008/8/27 Luiz Matsumura [EMAIL PROTECTED] Não testei isso, mas uma outra ideia seria usar o comando ALTER SCHEMA public RENAME TO e2; fazer do dump e voltar o nome do schema para o nome original... Mas como eu faria? Adicionaria este comando no script do dump no início do mesmo e ao final faria o contrário? Não consegui visualizar. Veja que tenho que importar num outro esquema diferente do public e não posso renomear o public do banco destino, pois o mesmo está sendo utilizado. 2008/8/27 [EMAIL PROTECTED] Jovem ribamar Tente pg_dump .. | sed 's/public/esquema_novo/g' dump.sql pg_dump -U usuario -d banco | sed 's/public/xteca/g' xteca.sql Funcionou beleza João. Valeu! ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Ribamar FS - [EMAIL PROTECTED] http://ribafs.net ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Erro em trigger
2008/7/22 Glauber Almeida [EMAIL PROTECTED]: Bom pessoal, estou com um problema em uma trigger e não consigo achar o que esta errado. Funcionalidade: Na inclusão da venda deve selecionar o cliente na tabela de clientes e duplicar os dados (nome do cliente, número do cpf/cnpj) na tabela de venda. Trigger: tri_erp_venda_ins Type: before For each: Row On event: Insert $body$ declare rscliente erp_cliente%rowtype; begin select cli_cod, cli_nom, cli_num_cpf_cnpj into rscliente from erp_cliente where cli_cod = new.cli_cod; if not rscliente.cli_cod is null then new.ven_nom_cli := rscliente.cli_nom; new.ven_num_cpf_cnpj := rscliente.cli_num_cpf_cnpj; else new.cli_cod:=1; new.ven_nom_cli := 'CONSUMIDOR FINAL'; new.ven_num_cpf_cnpj := '1234567890'; end if; end; end; $body$ Creio que o seu problema esta na linha: rscliente erp_cliente%rowtype; que acredito fazer com que se espere os dados na mesma sequência definida na tabela erp_cliente, melhor seria utilizar rscliente RECORD; ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Tempo excecivo ao restaurar banco - M ais alguém se habilita?
Olá, Olhando um pouco no histórico da lista performance foi sugerido que se aumentasse a memoria utilizada para a criação de indices (maintenance_work_mem) em uma maquina com 2G de memoria foi sugerido algo assim: shared_buffers = 2 maintenance_work_mem = 256000 infelizmente não sei o resultado pois apararentementaa pessoa que estava com o problema não postou se isso resolveu Espero que isto ajude. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Leitura suja na Trigger
Não sei se essa é a forma correta de fazer isso, mas se você criar as constraints (imagino que seja uma foreign key) com a cláusula DEFERRABLE INITIALLY IMMEDIATE e na sua trigger dar o comando antes de deletar SET CONSTRAINTS nome da constraint DEFERRED; Ou declarar ela como INITIALLY DEFERRED Espero que isto ajude. Em 14/11/07, Evandro Ricardo Silvestre[EMAIL PROTECTED] escreveu: Leandro DUTRA wrote: 2007/11/14, Evandro Ricardo Silvestre [EMAIL PROTECTED]: Estou com uma situação e gostaria de saber se há possibilidade de contornar. O esquema é o seguinte: Na Tabela 1 tenho uma trigger BEFORE DELETE que faz uma consulta na Tabela 2 para obter algumas informações no processamento. Em uma determinada situação preciso mandar um delete na Tabela 2 e um delete na Tabela 1, na mesma transação. O delete precisa ser nessa seqüência (primeiro Tabela 2 depois Tabela 1). Você vai precisar repensar o gatilho… Esse era meu medo. Já me deparei varias vezes com essa situação e todas fiz um work around. Mas não estou vendo muita saida para esse caso. Obrigado pela resposta. Att Evandro ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Problema de autenticação
Observe tambem que a mascara deve ser 255.255.255.255 se quiser apenas deixar o ip 192.168.0.1 aberto, caso contrario o que voce esta dizendo é realmente liberar para toda a rede 192.168.0.xxx Em 20/11/07, Sebastian SWC[EMAIL PROTECTED] escreveu: Pessoal, bom dia! estou com um problema e não sei como resolve-lo. criei esta regra no pg_hba.conf e eu consigo acessá-la de outros ips (como o da própria máquina onde ele está instalado, que é 192.168.0.201) # TYPE DATABASEUSERCIDR-ADDRESS METHOD hostall all 192.168.0.1 255.255.255.0md5 o que posso fazer para corrigir isso? -- Atenciosamente, Sebastian Selau Webber Colombo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] ODBC e VFP
Olá Pessoal, Como parece que existem vários colegas que trabalham com VFP acessando Postgres e acredito que a maioria acesse via ODBC, queria apenas saber se a última versão do ODBC (a 8.02.500) tem funcionado bem no Visual FoxPro. Digo isso porque depois da mudança que eles fizeram para utilizar o código sem necessitar das bibliotecas nativas do Postgres, parei de atualizar a ODBC por que começamos a ter vários problemas com o Driver. Estamos utilizando a 8.1.0200 desde então. Alguns membros da minha equipe disserem que tiveram problemas com números com várias casas decimais, onde o valor retornado com a versão 8.02.500 não estava correta. Não pude fazer testes, mas gostaria de saber se mais alguém tem tido problemas ou se pode ser problemas na aplicação (embora funcione como esperamos com o ODBC 8.01.0200) Agradeço desde já qualquer informação. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Acesso remoto (post versÃf£o 7.4)
Em 09/10/07, Paulinha [EMAIL PROTECTED] escreveu: Está rodando no linux sim, não vi a porta 5432 lá.. :/ Apenas uma pergunta que não quer calar: Você inicializou o seu banco de dados (initdb) e configurou e inicializou o serviço do postgres ( normalmente /etc/init.d/postgresql start ) ? Se sim, não leve a mal, é apenas para confirmar. Joao [EMAIL PROTECTED] escreveu: a maquina esta rodando num linux/unix?? netstat -natp e ve se a porta esta aberta! ___ 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 ao re staurar informações usando COPY
Em 11/06/07, Fabricio Barroso de Carvalho [EMAIL PROTECTED] escreveu: [1] Tabela de produtos: CREATE TABLE socic.produto ( id int4 NOT NULL, col2 numeric(10,5), col3 numeric(10,5), col4 numeric(10,5), col5 timestamp, col6 varchar(100), col7 numeric(10,5), col8 bool, nce int4 NOT NULL, col10 numeric(10,5), col11 varchar(20), col12 int4 NOT NULL, col13 int4, col14 varchar(30), col15 int4 NOT NULL, col16 int4, col17 int4, col18 int4, col19 varchar(50), col20 int4 NOT NULL, col21 bool, col22 int4, col23 varchar(100), col24 numeric(5,2) DEFAULT 0, col25 numeric(5,2) DEFAULT 0, col26 numeric(5,2) DEFAULT 0, col27 numeric(5,2) DEFAULT 0, col28 numeric(5,2) DEFAULT 0, col29 numeric(5,2) DEFAULT 0, col30 varchar(78), col31 bool DEFAULT false, col32 char(6), col33 int4, CONSTRAINT produto_pkey PRIMARY KEY (id), ... ); Por um acaso nesses ... não haveria a indicação de que a coluna nce é chave estrangeira de outra tabela ? Se sim, meu chute seria que este item que o copy está tentando inserir, não possui o registro pai deste valor e por conseguinte tenta inserir um valor nulo já que o valor original é inválido... Espero ter ajudado Luiz ___ 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: Ajuda com uma SQL...
Eu entendi diferente.. Não seria então algo assim ? Pela quantidade de itens em cada nota: SELECT Agrupa.dataem , Count(*) AS QtNf , Avg( Agrupa.QtiTem ) AS media FROM ( SELECT NF.dataem , NFc.nronf , count(*) AS QtItem FROM NFc JOIN NFi on NFc.nronf = NFi.nronf WHERE to_char(NFc.dataem, 'MM') = '200705' GROUP BY NFc.nronf ,NFc.dataem ) Agrupa GROUP BY 1 order by 1 Ou pela quantidade total de cada item em cada nota: SELECT Agrupa.dataem , Count(*) AS QtNf , Avg( Agrupa.QtiTem ) AS media FROM ( SELECT NF.dataem , NFc.nronf , Sum(Nfi.Quantidade) AS QtItem FROM NFc JOIN NFi on NFc.nronf = NFi.nronf WHERE to_char(NFc.dataem, 'MM') = '200705' GROUP BY NFc.nronf ,NFc.dataem ) Agrupa GROUP BY 1 order by 1 Santiago-16 wrote: As informações são esas mesmas que eu pasei...vou tentar ser + claro...veja: Sempre em meses fechados... Por ex. mês de maio de 2007, dia: Dia: 01 Tot.de NF: 34 Media de Itens Por NF: 3,21 Dia: 02 Tot.de NF: 31 Media de Itens Por NF: 3,89 Dia: 03 Tot.de NF: 29 Media de Itens Por NF: 3,11 Dia: 31 Tot.de NF: 56 Media de Itens Por NF: 3,34 Sempre mantendo a estructura que dize anteriormente Acontece que meu cliente quer saber qual e a media de itens por nota por dia e quantidade de notas por dia, para reconfigurar a nota fiscal , calcular o custo do frete na empresa, Dimensionar a expedição, e outras que não sei o que !!!..mas...é isso ai... NFc.nronf, NFc.dataem, etc..etc.. NFi.nronf, NFi.iten, NFi.quantidade etc...etc.. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral