> This might do what you're looking for on 8.0.
>
> CREATE OR REPLACE FUNCTION currval_isset(text) RETURNS bigint AS '
> DECLARE
> var integer;
> BEGIN
> SELECT currval($1) INTO var;
>
> RETURN var;
>
> EXCEPTION
> WHEN OBJECT_NOT_IN_PREREQUISITE_STATE THEN
> RETURN 0;
> END;
> ' LANGUAGE plpgsql;
>
> SELECT isset('tst_seq');
>
k, i don't actually have an 8.0 installation to play with here,. but
won't this still produce a warning?