|
|
Subject: Problema Zeos com Delphi 7 - msg#01032
List: db.postgresql.brasil
Estou utilizando o Pg em uma rede com 2 micros para teste. O Pg
(7.3.0 e client 7.2.1) está rodando sobre o cygwin. Na outra máquia
(a q seria o cliente/estação) um sistema em Delphi 7 com Zeos
(zeosdbo 5.4.1). No pg_hba.conf está assim: host all all 0.0.0.0
0.0.0.0 trust e no postgresql.conf está com tcpip_socket = true.
O Problema é:
O programa roda certinho no servidor, mas no cliente aparece a
mensagem de q o PG nao está ativado:
"Exception EDatabase Error in modulo Programa.EXE at 0008C5C5.
connectDBStart()--connect() failed: No error
Is the postmaster running (with -i) at '192.168.10.2'
and accepting connections on TCP/IP port 5432?."
mas o DBTools roda perfeitamente no cliente, só este programa q dá
isso.
Alguém já passou por isso antes?
Grato
Fernando
----------------------------------------------------------
Grupo PostgreSQL Brasil. Fundado em 1999
Mensagens para: postgresql-br-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx
Desassocie-se:
postgresql-br-unsubscribe-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx
Sitio web: http://br.groups.yahoo.com/group/postgresql-br
Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
Was this page helpful?
Thread at a glance:
Previous Message by Date:
click to view message preview
Trigger para Log
Robson/Roberto
Resolvi o problema da trigger para o backup das tabelas :)
Nao e a solucao mais elegante, com uma unica trigger para fazer o log de
todas as tabelas, mas tambem nao e a "gambiarra' de criar uma function a
cada alteracao nos dados. Sai um bom meio termo, ai estaos as funcoes
para o log:
CREATE OR REPLACE FUNCTION createlog( name ) RETURNS BOOLEAN AS '
DECLARE
tab ALIAS FOR $1;
id OID;
line VARCHAR(20000);
line_update VARCHAR(6000);
line_insert VARCHAR(6000);
line_delete VARCHAR(6000);
fields REFCURSOR;
field RECORD;
BEGIN
line_update := '' '';
line_insert := '' '';
line_delete := '' '';
SELECT INTO id OID FROM pg_class WHERE relname = tab;
OPEN fields FOR SELECT attname,attnum
FROM pg_attribute
WHERE attrelid = id AND attnum > 0 AND NOT
attisdropped
ORDER BY attnum;
LOOP
FETCH fields INTO field;
IF NOT FOUND THEN
EXIT;
END IF;
line_update := line_update || '' PERFORM log_field( cod,
'''''''''' || field.attname || '''''''''''';
line_update := line_update || '', OLD.'' || field.attname || '',
NEW.'' || field.attname || '' ); '';
line_insert := line_insert || '' PERFORM log_field( cod,
'''''''''' || field.attname || '''''''''''';
line_insert := line_insert || '', NULL , NEW.'' || field.attname
|| '' ); '';
line_delete := line_delete || '' PERFORM log_field( cod,
'''''''''' || field.attname || '''''''''''';
line_delete := line_delete || '', OLD.'' || field.attname || '',
NULL ); '';
END LOOP;
line := ''CREATE OR REPLACE FUNCTION '' || tab || ''_log()
RETURNS TRIGGER AS '''' '';
line := line || '' DECLARE '';
line := line || '' cod INTEGER; '';
line := line || '' BEGIN '';
line := line || '' SELECT INTO cod log_header( TG_RELNAME,
substring( TG_OP from 1 for 1) ); '';
line := line || '' IF ( TG_OP = ''''''''UPDATE'''''''' ) THEN '';
line := line || line_update;
line := line || '' END IF; '';
line := line || '' IF ( TG_OP = ''''''''INSERT'''''''' ) THEN '';
line := line || line_insert;
line := line || '' END IF; '';
line := line || '' IF ( TG_OP = ''''''''DELETE'''''''' ) THEN '';
line := line || line_delete;
line := line || '' END IF; '';
line := line || '' RETURN null; '';
line := line || '' END; '';
line := line || '''''' LANGUAGE ''''plpgsql''''; '';
EXECUTE line;
RETURN ''t'';
END;
' LANGUAGE 'plpgsql';
CREATE OR REPLACE FUNCTION log_header( NAME,CHAR(1) ) RETURNS INTEGER AS '
DECLARE
tab ALIAS FOR $1;
op ALIAS FOR $2;
id OID;
ret INTEGER;
BEGIN
INSERT INTO log ( tabela, operacao ) VALUES ( tab, op );
GET DIAGNOSTICS id = RESULT_OID;
SELECT INTO ret CODIGO FROM LOG WHERE OID=id;
RETURN ret;
END;
' LANGUAGE 'plpgsql';
CREATE OR REPLACE FUNCTION log_field( INTEGER, NAME, TEXT, TEXT )
RETURNS BOOLEAN AS '
DECLARE
cod ALIAS FOR $1;
fname ALIAS FOR $2;
oldvalue ALIAS FOR $3;
newvalue ALIAS FOR $4;
BEGIN
INSERT INTO log_fields ( codigo, campo, velho, novo ) VALUES ( cod,
fname, oldvalue, newvalue );
RETURN ''t'';
END;
' LANGUAGE 'plpgsql';
E a criacao da tabela fica assim:
CREATE TABLE ESPECIALIDADE (
codigo char(3) PRIMARY KEY,
descricao char(29)
);
CREATE INDEX especialidade_descricao ON especialidade ( descricao );
GRANT SELECT,INSERT,UPDATE,DELETE ON especialidade TO GROUP csh;
SELECT createlog('especialidade');
CREATE TRIGGER especialidade_log AFTER UPDATE OR INSERT OR DELETE ON
especialidade
FOR EACH ROW EXECUTE PROCEDURE especialidade_log();
Agora uma ultima duvida, fica melhor declarar as variaveis onde serao
montadas os textos apenas como VARCHAR, sem definir o tamanho? Pelo que
li na documentacao, se nao definir o tamanho, a variavel cresce tanto
quanto for necessario. Mas eu defini o tamanho porque o exemplo que o
Roberto colocou na documentacao do postgre tinha um tamanho definido. Se
ganha ou deixa de perder algo ao definir o tamanho?
Obrigado
Josinei
----------------------------------------------------------
Grupo PostgreSQL Brasil. Fundado em 1999
Mensagens para: postgresql-br-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx
Desassocie-se:
postgresql-br-unsubscribe-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx
Sitio web: http://br.groups.yahoo.com/group/postgresql-br
Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
Next Message by Date:
click to view message preview
[OT] Limitar banda
Tenho que testar a performace de uma aplicação com Postgresql em uma ponta e o
aplicativo em outra e saber em qual situação inicial o sistema poderia operar
de forma aceitável: 512, 256, 128 ou 64.
Gostaria de usar (utilizamos linux) algum processo ou programa que abaixe a
velocidade da placa de rede para que possamos simular este comportamento.
Alguem tem ou já viu algo parecido?
Cordialmente,
Fabiano Costa
[As partes desta mensagem que não continham texto foram removidas]
----------------------------------------------------------
Grupo PostgreSQL Brasil. Fundado em 1999
Mensagens para: postgresql-br-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx
Desassocie-se:
postgresql-br-unsubscribe-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx
Sitio web: http://br.groups.yahoo.com/group/postgresql-br
Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
Previous Message by Thread:
click to view message preview
Comando Copy
Olá pessoal da lista
Gerei um arquivo texto a partir do SGBD Informix e este arquivo e
contêm várias colunas separadas por delimitadores "|" e entre elas
tenho algumas colunas tipo DATE com valores nulo. Ao usar o comando
COPY para importar o seguinte erro é gerado: "bad date external
representation". Sei que o erro é por causa das datas com valores
nulo, porém ja tentei editar o arquivo e escrever null no local e ele
não reconhece a palavra null. Existe alguma forma ou macete para esta
importação.
Obs: já procurei nas mensagem anteriores sobre o comando copy não
encontrei algo a este respeito.
Grato pela atenção.
Sergio Luiz Lell
----------------------------------------------------------
Grupo PostgreSQL Brasil. Fundado em 1999
Mensagens para: postgresql-br-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx
Desassocie-se:
postgresql-br-unsubscribe-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx
Sitio web: http://br.groups.yahoo.com/group/postgresql-br
Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
Next Message by Thread:
click to view message preview
[OT] Limitar banda
Tenho que testar a performace de uma aplicação com Postgresql em uma ponta e o
aplicativo em outra e saber em qual situação inicial o sistema poderia operar
de forma aceitável: 512, 256, 128 ou 64.
Gostaria de usar (utilizamos linux) algum processo ou programa que abaixe a
velocidade da placa de rede para que possamos simular este comportamento.
Alguem tem ou já viu algo parecido?
Cordialmente,
Fabiano Costa
[As partes desta mensagem que não continham texto foram removidas]
----------------------------------------------------------
Grupo PostgreSQL Brasil. Fundado em 1999
Mensagens para: postgresql-br-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx
Desassocie-se:
postgresql-br-unsubscribe-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx
Sitio web: http://br.groups.yahoo.com/group/postgresql-br
Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
|
|