PostgreSQL のトリガーは同期か非同期か?

まー普通に考えたらトランザクション維持できないから同期じゃないとダメだし。

CREATE FUNCTION wait() RETURNS TRIGGER AS $$
    BEGIN
        PERFORM pg_sleep(10);
        RETURN NEW;
    END;
$$ LANGUAGE plpgsql;

CREATE TABLE foo ( id serial primary key, name varchar(100));

CREATE TRIGGER trigger_foo
    BEFORE INSERT OR UPDATE ON foo
    FOR EACH ROW
    EXECUTE PROCEDURE wait();

INSERT INTO foo(name) VALUES ('foobar');