Known Bugs

June 26, 2026 ยท View on GitHub

lc_messages Language Issue

It is known that the extension does not function properly if lc_messages runtime parameter is set to a value other than 'C' or 'en_US.utf8'. The workaround is to use the SET clause in function declarations.

CREATE FUNCTION forty_two() RETURNS int IMMUTABLE AS
$$
  import Data.Int
    ( Int32,
    )
  import PGutils
    ( PGm,
      notice,
      report,
    )

  forty_two :: PGm (Maybe Int32)
  forty_two = do
    report notice "Don't Panic"
    return (Just 42)
$$
LANGUAGE plhaskell
SET lc_messages TO 'C';

Multiple Set Returning Calls

If a query calls a set returning function multiple times, the query can be prohibitively slow. There is currently no workaround.

Bad runpath

In Fedora 44, there is a bug that causes dependent haskell shared libraries not to load. The workaround is to set the environment variable $LD_LIBRARY_PATH to include /usr/lib64/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-inplace in PostgreSQL.

Systemd modification

This is best accomplished by saving the following file to /etc/systemd/system/postgresql.service.d/LD_LIBRARY_PATH.conf:

[Service]
Environment=LD_LIBRARY_PATH=/usr/lib64/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-inplace

Run

$> sudo systemctl daemon-reload

$> sudo systemctl restart postgresql.service