On Thu, Feb 8, 2018 at 8:12 PM, Steven Hirsch <snhirsch@gmail.com> wrote: ..... > 2. Why is the currval() function being so blasted dumb? If > 'pg_get_serial_sequence' cannot resolve the sequence, it returns NULL. As > such, shouldn't the outer currval() also be returning NULL? I cannot > imagine a rationale for the current behavior.
Are you sure it does ? http://sqlfiddle.com/#!17/9eecb/9696 shows it returning null. ( as expected, if it is defined strict as it should and someone has already pointed it ).
Are you sure you are not using pgAdmin or a similar thing which displays null as 0 in a numeric field?
You've missed a response - the observed behavior is an artifact of JDBC use. PostgreSQL+psql is working as expected.