How can I specify the last parameters in a function call and let the others default to the DEFAULT in the declaration?
You can simply supply the fifth argument with Mixed Notation using the =&gt; to separate the parameter name from the argument,

SELECT test_func(1,2,3,p5=&gt;5);
test_func 
-----------
         5
(1 row)


From the docs on mixed notation with the one caveat (from the docs),


  Named and mixed call notations currently cannot be used when calling an aggregate function (but they do work when an aggregate function is used as a window function).