Recently (that is, very late!) I wanted to upgrade to LedgerSMB 1.5.24
(not 1.6 because my server is still under Debian stretch). I think I could
upgrade the database correctly with setup.pl, but when running login.pl it
will not work because, according to Postgresql's logs, it insists on trying
to call the stored procedure public.setting_get, which does not exist.
Thanks for this info. I think I found that the module which calls the 'setting_get' (lib/LedgerSMB/PGOld.pm) to be lacking the code to set up the db_namespace. I'm now trying to figure out what the best way is to pass the configuration value to the database call component.
I've created a change to the code base which is at least a step in the right direction. Could you check that it works when you place these files on your server:
There should be files on your system with the names "lib/LedgerSMB/PGOld.pm" and "lib/LedgerSMB/PGObject.pm". Make a backup of those files before you do anything, so you can restore your system to what it was. Then, download the two files above and replace the files you just backed up. Then restart your server processes (LedgerSMB service) and try to log in after that.
If you still have problems, please let me know which ones and I'll work to resolve those too. If you need help applying the fix, don't hesitate to mail or come to IRC/Matrix for help.