Thread: PostgreSQL Trigger and rows updated
am trying to update a table according to this trigger : CREATE TRIGGER alert AFTER UPDATE ON cars FOR EACH ROW EXECUTE PROCEDURE update_cars(); Trigger Function : CREATE FUNCTION update_cars() RETURNS 'TRIGGER' AS $BODY$ BEGIN IF (TG_OP = 'UPDATE') THEN UPDATE hello_cars SET status = new.status WHERE OLD.ID = NEW.ID; END IF; RETURN NULL; END; $$ LANGUAGE plpgsql; the trigger works fine. when cars table updated, the hello_cars table updated but status column in each row is updated and contains same new status ! it must be updated according to car ID. i think my problem is in condition : WHERE OLD.ID = NEW.ID; but can't tell what's wrong exactly Thanks in advanced -- View this message in context: http://postgresql.1045698.n5.nabble.com/PostgreSQL-Trigger-and-rows-updated-tp5608591p5608591.html Sent from the PostgreSQL - general mailing list archive at Nabble.com.
Aleksander Rozman wrote: > Now I am not sure two of this directories are old databases, but I think > they are... Is there a way to register one of this databases into new > installation (I am sure that directory "1" is old postgres database, and > "11563" is my database I want to save, and "11564" is new postgresql > database (this is only directory with new date). Actually 1, 11563 and 11564 are what you get with a fresh new installation. On a 8.4 install on Ubuntu, the corresponding databases are: SELECT oid, datname from pg_database where oid in (1,11563,11564); oid | datname -------+----------- 1 | template1 11563 | template0 11564 | postgres Also normally initdb wouldn't work on a non-empty data directory, anyway. I'd say that either the old data directory has been moved aside at some point of the upgrade procedure, or it has been wiped out :( Best regards, -- Daniel PostgreSQL-powered mail user agent and storage: http://www.manitou-mail.org
Thanks you so much! it works great now -- View this message in context: http://postgresql.1045698.n5.nabble.com/PostgreSQL-Trigger-and-rows-updated-tp5608591p5609895.html Sent from the PostgreSQL - general mailing list archive at Nabble.com.
On 6/6/2012 2:35 AM, Daniel Verite wrote: > Aleksander Rozman wrote: > >> Now I am not sure two of this directories are old databases, but I think >> they are... Is there a way to register one of this databases into new >> installation (I am sure that directory "1" is old postgres database, and >> "11563" is my database I want to save, and "11564" is new postgresql >> database (this is only directory with new date). > Actually 1, 11563 and 11564 are what you get with a fresh new installation. > On a 8.4 install on Ubuntu, the corresponding databases are: > > SELECT oid, datname from pg_database where oid in (1,11563,11564); > > oid | datname > -------+----------- > 1 | template1 > 11563 | template0 > 11564 | postgres > > Also normally initdb wouldn't work on a non-empty data directory, anyway. > I'd say that either the old data directory has been moved aside at some point > of the upgrade procedure, or it has been wiped out :( > > Best regards, Problem is that upgrade of Ubuntu failed at some point, and after that I did clean install... So database probably got deleted at some point. Andy