Лучший способ сохранить данные в базе данных - это таблица. Таким образом, вы можете в принципе иметь таблицу с одной строкой, в которой хранится значение.
Ситуация усложняется, если функция вызывается в нескольких транзакциях одновременно, тогда поведение будет неопределенным.
Использование UPDATE ... RETURNING
для обновления и извлечения сохраненного значения из таблицы приведет к сериализации доступа через блокировку строки, поэтому один параллельный вызов должен будет ждать до завершения предыдущего.