NixOS / NixOS/nixpkgs

postgresql17Packages.timescaledb_toolkit: could not access file "$libdir/timescaledb_toolkit": No such file or directory

Open
#508,286 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

0.kind: bug
Dominant language
Nix
Stars
26.2k
Forks
20.1k
PR merge metrics
PR metrics pending

Description

Nixpkgs version
  • Stable (25.11)
Describe the bug

When using a function from the timescaledb_toolkit package in postgresql I get the error:

could not access file "$libdir/timescaledb_toolkit": No such file or directory

I've installed the package using:

  extensions =
    ps: with ps; [
      pg_cron
      postgis
      timescaledb
      timescaledb_toolkit
      plpython3
    ];

and created the extension in the database:

gosk@postgresql-17-gosk:gosk> \dx
+---------------------+---------+------------+---------------------------------------------------------------------------------------+
| Name                | Version | Schema     | Description                                                                           |
|---------------------+---------+------------+---------------------------------------------------------------------------------------|
| btree_gist          | 1.7     | events     | support for indexing common datatypes in GiST                                         |
| pg_cron             | 1.6     | pg_catalog | Job scheduler for PostgreSQL                                                          |
| pg_stat_statements  | 1.11    | public     | track planning and execution statistics of all SQL statements executed                |
| plpgsql             | 1.0     | pg_catalog | PL/pgSQL procedural language                                                          |
| plpython3u          | 1.0     | pg_catalog | PL/Python3U untrusted procedural language                                             |
| postgis             | 3.6.1   | postgis    | PostGIS geometry and geography spatial types and functions                            |
| timescaledb         | 2.23.1  | public     | Enables scalable inserts and complex queries for time-series data (Community Edition) |
| timescaledb_toolkit | 1.21.0  | public     | Library of analytical hyperfunctions, time-series pipelining, and other SQL utilities |
| uuid-ossp           | 1.1     | public     | generate universally unique identifiers (UUIDs)                                       |
+---------------------+---------+------------+---------------------------------------------------------------------------------------+
SELECT 9
Time: 0.014s
Steps to reproduce
  • Add timescaledb_toolkit to the services.postgresql.extensions list.
  • Run CREATE EXTENSION IF NOT EXISTS timescaledb_toolkit; on the desired database.
  • Execute a query that uses timescaledb_toolkit.
Expected behaviour

A succesful query without error.

Screenshots

No response

Relevant log output
[root@postgresql-17-gosk:~]# systemctl status postgresql.service
● postgresql.service - PostgreSQL Server
     Loaded: loaded (/etc/systemd/system/postgresql.service; linked; preset: ignored)
     Active: active (running) since Thu 2026-04-09 10:10:22 UTC; 47min ago
 Invocation: b77b4478e042415f851a230ef9a7db71
    Process: 212 ExecStartPre=/nix/store/fc2xws1h6s6dyn7zsyj7yp0fnyb94p60-unit-script-postgresql-pre-start/bin/postgresql-pre-start (code=exited, status=0/SUCCESS)
    Process: 261 ExecStartPost=/nix/store/rfy8sbcw0qr616ibr2z6pqxzsckcf7py-unit-script-postgresql-post-start/bin/postgresql-post-start (code=exited, status=0/SUCCESS)
   Main PID: 245 (.postgres-wrapp)
         IO: 0B read, 0B written
      Tasks: 8 (limit: 154388)
     Memory: 127.3M (peak: 130.7M)
        CPU: 5.628s
     CGroup: /system.slice/postgresql.service
             ├─245 /nix/store/2p0hrxpy7kvxlxhpbypw1xagvslwf81i-postgresql-and-plugins-17.9/bin/postgres
             ├─253 "postgres: checkpointer "
             ├─254 "postgres: background writer "
             ├─256 "postgres: walwriter "
             ├─257 "postgres: autovacuum launcher "
             ├─258 "postgres: TimescaleDB Background Worker Launcher "
             ├─259 "postgres: logical replication launcher "
             └─260 "postgres: TimescaleDB Background Worker Scheduler for database 16384 "

Apr 09 10:10:22 postgresql-17-gosk postgresql-post-start[270]: NOTICE:  version "1.21.0" of extension "timescaledb_toolkit" is already installed
Apr 09 10:10:22 postgresql-17-gosk postgresql-post-start[270]: ALTER EXTENSION
Apr 09 10:10:22 postgresql-17-gosk postgresql-post-start[270]: ERROR:  extension "plpython3" does not exist
Apr 09 10:10:22 postgresql-17-gosk postgresql-post-start[270]: NOTICE:  extension "btree_gist" already exists, skipping
Apr 09 10:10:22 postgresql-17-gosk postgresql-post-start[270]: CREATE EXTENSION
Apr 09 10:10:22 postgresql-17-gosk postgres[271]: [271] ERROR:  extension "plpython3" does not exist
Apr 09 10:10:22 postgresql-17-gosk postgres[271]: [271] STATEMENT:  ALTER EXTENSION plpython3 UPDATE;
Apr 09 10:10:22 postgresql-17-gosk systemd[1]: Started PostgreSQL Server.
Apr 09 10:15:22 postgresql-17-gosk postgres[253]: [253] LOG:  checkpoint starting: time
Apr 09 10:15:23 postgresql-17-gosk postgres[253]: [253] LOG:  checkpoint complete: wrote 10 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.719 s, sync=0.111 s, total=0.898 s; sync files=9, longest=0.033 s, aver>

[root@postgresql-17-gosk:~]# ls /nix/store/2p0hrxpy7kvxlxhpbypw1xagvslwf81i-postgresql-and-plugins-17.9/lib
address_standardizer-3.so  citext.so            euc_kr_and_mic.so      latin_and_mic.so     pg_freespacemap.so     plpgsql.so             test_decoding.so                     utf8_and_euc2004.so    utf8_and_sjis.so
amcheck.so                 cube.so              euc_tw_and_big5.so     libpqwalreceiver.so  pgoutput.so            plpython3.so           timescaledb-2.23.1.so                utf8_and_euc_cn.so     utf8_and_uhc.so
auth_delay.so              cyrillic_and_mic.so  file_fdw.so            lo.so                pg_prewarm.so          postgis-3.so           timescaledb-invalidations-2.23.1.so  utf8_and_euc_jp.so     utf8_and_win.so
auto_explain.so            dblink.so            fuzzystrmatch.so       ltree_plpython3.so   pgrowlocks.so          postgis_raster-3.so    timescaledb.so                       utf8_and_euc_kr.so     uuid-ossp.so
autoinc.so                 dict_int.so          hstore_plpython3.so    ltree.so             pg_stat_statements.so  postgis_topology-3.so  timescaledb_toolkit-1.21.0.so        utf8_and_euc_tw.so
basebackup_to_shell.so     dict_snowball.so     hstore.so              moddatetime.so       pgstattuple.so         postgres_fdw.so        timescaledb-tsl-2.23.1.so            utf8_and_gb18030.so
basic_archive.so           dict_xsyn.so         insert_username.so     pageinspect.so       pg_surgery.so          refint.so              tsm_system_rows.so                   utf8_and_gbk.so
bitcode                    earthdistance.so     _int.so                passwordcheck.so     pg_trgm.so             seg.so                 tsm_system_time.so                   utf8_and_iso8859_1.so
bloom.so                   euc2004_sjis2004.so  isn.so                 pg_buffercache.so    pg_visibility.so       sslinfo.so             unaccent.so                          utf8_and_iso8859.so
btree_gin.so               euc_cn_and_mic.so    jsonb_plpython3.so     pg_cron.so           pg_walinspect.so       tablefunc.so           utf8_and_big5.so                     utf8_and_johab.so
btree_gist.so              euc_jp_and_sjis.so   latin2_and_win1250.so  pgcrypto.so          pgxml.so               tcn.so                 utf8_and_cyrillic.so                 utf8_and_sjis2004.so
Additional context

No response

System metadata
  • system: "x86_64-linux"
  • host os: Linux 6.12.55, NixOS, 25.11 (Xantusia), 25.11.20260401.bcd464c
Notify maintainers

@typetetris


Note for maintainers: Please tag this issue in your pull request description. (i.e. Resolves #ISSUE.)

I assert that this issue is relevant for Nixpkgs
Is this issue important to you?

Add a 👍 reaction to issues you find important.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the services.postgresql.extensions configuration and inspect the generated postgresql-and-plugins-17.9/lib directory, especially how timescaledb_toolkit is named and loaded. Reproduce the CREATE EXTENSION and failing query from the issue, then verify that a query using timescaledb_toolkit succeeds without the missing-file error.

Written by the indexing model from the issue text.

Assessment

Tech stack
postgresql
Domain
databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.