Commit Graph

429 Commits

Author SHA1 Message Date
Mario Rodas
cc57329742 postgresqlPackages.pgvector: 0.4.4 -> 0.5.0
Diff: https://github.com/pgvector/pgvector/compare/v0.4.4...v0.5.0

Changelog: https://github.com/pgvector/pgvector/raw/v0.5.0/CHANGELOG.md
2023-08-29 04:20:00 +00:00
Mario Rodas
ce3b2a7683 postgresqlPackages.plpgsql_check: 2.3.4 -> 2.4.0
Diff: https://github.com/okbob/plpgsql_check/compare/v2.3.4...v2.4.0

Changelog: https://github.com/okbob/plpgsql_check/releases/tag/v2.4.0
2023-08-21 04:20:00 +00:00
Mario Rodas
f7f5506f82
Merge pull request #249757 from 1000101/tsdb
postgresqlPackages.timescaledb: 2.11.1 -> 2.11.2
2023-08-19 01:09:29 -05:00
1000101
109f094127 postgresqlPackages.timescaledb: 2.11.1 -> 2.11.2 2023-08-17 17:24:06 +02:00
R. Ryantm
624607b3a5 postgresql11JitPackages.plr: 8.4.5 -> 8.4.6 2023-08-15 05:08:12 +00:00
Austin Seipp
a262231cca postgresqlPackages.pg_net: init at 0.7.2
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2023-08-13 20:27:43 -05:00
Jan Malakhovski
591ccfe5b9 treewide: noop: refer to src.name or similar where appropriate, part 3: more use cases
This continues where d8f7f6a5ce left off. Similarly
to that commit, this commit this also points `sourceRoot`s to `src.name` and similar
instead of keeping hardcoded names, and edits other derivation attrs do do the same,
where appropriate.

Also, similarly to d8f7f6a5ce some of expressions this
edits use `srcs` attribute with customly-named sources, so they have to be moved
into `let` blocks to keep evaluation efficient (the other, worse, way to do this
would to recurcively refer to `elemAt n finalAttrs.srcs` or, similarly, with `rec`).
2023-08-11 09:20:44 +00:00
Sigrid Solveig Haflínudóttir
0271120180 postgresqlPackages.postgis: enable address_standardizer, fix docs installation 2023-08-03 14:30:48 -05:00
Austin Seipp
26f7e30132 postgresqlPackages.plv8: build on aarch64-linux
This might have been broken in days of yore, but it seems to work fine
now (reasonably so, since we use the system version of v8.)

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2023-08-02 00:52:27 -05:00
R. RyanTM
b63179691f
postgresql15Packages.repmgr: 5.4.0 -> 5.4.1 (#242894) 2023-07-12 10:30:23 +02:00
Mario Rodas
58ccd88dbd postgresqlPackages.timescaledb: 2.11.0 -> 2.11.1
Diff: https://github.com/timescale/timescaledb/compare/2.11.0...2.11.1

Changelog: https://github.com/timescale/timescaledb/raw/2.11.1/CHANGELOG.md
2023-06-29 04:20:00 +00:00
Nick Cao
c74fd7d1f8
postgresqlPackages.pgroonga: 3.0.7 -> 3.0.8, use msgpack-c
Diff: https://github.com/pgroonga/pgroonga/compare/3.0.7...3.0.8
Changelog: https://github.com/pgroonga/pgroonga/releases/tag/3.0.8
2023-06-26 22:31:59 +08:00
R. Ryantm
c890237f94 postgresql11JitPackages.pgroonga: 3.0.6 -> 3.0.7 2023-06-24 15:00:47 +00:00
Mario Rodas
d246683fe9 postgresqlPackages.postgis: 3.3.2 -> 3.3.3
Changelog: https://git.osgeo.org/gitea/postgis/postgis/raw/tag/3.3.3/NEWS
2023-06-17 04:20:00 +00:00
Mario Rodas
823132b180 postgresqlPackages.pgvector: 0.4.3 -> 0.4.4
Diff: https://github.com/pgvector/pgvector/compare/v0.4.3...v0.4.4

Changelog: https://github.com/pgvector/pgvector/raw/v0.4.4/CHANGELOG.md
2023-06-13 04:20:00 +00:00
R. Ryantm
1ef5dad4a3 postgresql11JitPackages.pgroonga: 3.0.5 -> 3.0.6 2023-06-13 03:32:31 +00:00
Mario Rodas
4cbde33abe postgresqlPackages.pgvector: 0.4.2 -> 0.4.3
Diff: https://github.com/pgvector/pgvector/compare/v0.4.2...v0.4.3

Changelog: https://github.com/pgvector/pgvector/raw/v0.4.3/CHANGELOG.md
2023-06-11 04:20:00 +00:00
Marko Mušnjak
aafe0f4314
apache_datasketches: init at 1.6.0
PostgreSQL extension providing approximate algorithms for
distinct item counts, quantile estimation and frequent items detection.
2023-06-02 21:03:19 +02:00
Mario Rodas
0faad578fe postgresqlPackages.pgroonga: add changelog to meta 2023-05-31 04:20:00 +00:00
Mario Rodas
dd099cedf1 postgresqlPackages.pgroonga: 3.0.3 -> 3.0.5
https://github.com/pgroonga/pgroonga/releases/tag/3.0.5
2023-05-31 04:20:00 +00:00
R. Ryantm
a873541b2f postgresql11JitPackages.pgroonga: 3.0.1 -> 3.0.3 2023-05-30 17:14:23 +00:00
happysalada
938e5e2fbe timescaledb_toolkit: mark broken on darwin 2023-05-26 06:07:33 -04:00
Mario Rodas
fe3a69ab0c postgresqlPackages.timescaledb: 2.10.3 -> 2.11.0
Diff: https://github.com/timescale/timescaledb/compare/2.10.3...2.11.0

Changelog: https://github.com/timescale/timescaledb/raw/2.11.0/CHANGELOG.md
2023-05-22 04:20:00 +00:00
jz8132543
ac0e09e17a
postgresql15Packages.repmgr: 5.3.2 -> 5.4.0 2023-05-20 12:08:48 +08:00
Mario Rodas
b50b006b04 postgresqlPackages.pgvector: 0.4.1 -> 0.4.2
Diff: https://github.com/pgvector/pgvector/compare/v0.4.1...v0.4.2

Changelog: https://github.com/pgvector/pgvector/raw/v0.4.2/CHANGELOG.md
2023-05-13 04:20:00 +00:00
Mario Rodas
bf960aa6bc postgresql11Packages.pg_auto_failover: fix build on Linux
ZHF: #230712
2023-05-13 04:20:00 +00:00
Yt
d702c38590
postgresqlPackages.timescaledb_toolkit 1.14.0 -> 1.16.0 (#231265) 2023-05-12 06:54:09 -04:00
Mario Rodas
bf12df5e19
Merge pull request #229032 from r-ryantm/auto-update/postgresql11JitPackages.pgroonga
postgresql11JitPackages.pgroonga: 2.4.2 -> 3.0.0
2023-04-30 06:34:11 -05:00
Ivan Kozik
5207dff2d8 postgresqlPackages.pgroonga: remove myself from maintainers 2023-04-30 02:41:23 +00:00
Mario Rodas
cfbd436e24 postgresqlPackages.pgroonga: 3.0.0 -> 3.0.1
https://github.com/pgroonga/pgroonga/releases/tag/3.0.1
2023-04-30 01:42:00 +00:00
R. Ryantm
40add03d25 postgresql11JitPackages.pgroonga: 2.4.2 -> 3.0.0 2023-04-30 01:41:23 +00:00
R. Ryantm
cf55738d99 postgresql11JitPackages.pg_cron: 1.5.1 -> 1.5.2 2023-04-29 08:10:56 +00:00
1000101
938afbb96e postgresqlPackages.timescaledb: 2.10.2 -> 2.10.3 2023-04-27 13:21:30 -04:00
Mario Rodas
5249a7ce55
Merge pull request #220812 from anpin/feature/promscale-rebase
promscale: 0.10.0 -> 0.17.0
2023-04-24 21:02:25 -05:00
Eric Wolf
815fed2e05 cargo-pgx: 0.6.1 -> 0.7.4, keep 0.6.1, add 0.7.1
0.6.1 keeping until timescaledb_toolkit got upgraded to 1.15.0
0.7.1 because timescaledb_toolkit 1.15.0 needs it
0.7.4 because it is the most recent cargo-pgx version
2023-04-23 15:23:38 -04:00
Pavel Anpin
0e191c7ec1
promscale_extension: fixed cargoPatch
somehow the patch made earlier stoped working, so the build was failing
due to git dependency in cargo.lock. Fixed that in the upstream PR and
repointed fetchpatch to the new commit
2023-04-23 13:17:14 +04:00
Pavel Anpin
3efea7f0ea
postgresqlPackages.promscale_extension: init at 0.8.0 2023-04-22 21:29:49 +04:00
Mario Rodas
2c69fe1567 postgresqlPackages.plpgsql_check: 2.3.3 -> 2.3.4
https://github.com/okbob/plpgsql_check/releases/tag/v2.3.4
2023-04-20 04:20:00 +00:00
1000101
ae5640c0aa postgresqlPackages.timescaledb: 2.10.1 -> 2.10.2 2023-04-21 00:01:16 +02:00
Mario Rodas
86f8f8caf5 postgresqlPackages.pg_partman: add changelog to meta 2023-04-16 23:02:00 +00:00
R. Ryantm
3a03211580 postgresql11JitPackages.pg_partman: 4.7.1 -> 4.7.3 2023-04-16 23:01:00 +00:00
Mario Rodas
3bb23bd81a postgresqlPackages.plv8: 3.1.4 -> 3.1.5 2023-04-05 04:20:00 +00:00
Mario Rodas
c937feb1a1
Merge pull request #219826 from noctarius/master
Fixed TimescaleDB License Information
2023-04-01 09:19:04 -05:00
Mario Rodas
079209be0e postgresqlPackages.pgrouting: 3.4.2 -> 3.5.0
https://github.com/pgRouting/pgrouting/releases/tag/v3.5.0
2023-03-31 04:20:00 +00:00
Maximilian Bosch
2282fa73a1
postgresql: implement opt-in JIT support
Closes #150801

Note: I decided against resuming directly on #150801 because the
conflict was too big (and resolving it seemed too error-prone to me).
Also the `this`-refactoring could be done in an easier manner, i.e. by
exposing JIT attributes with the correct configuration. More on that
below.

This patch creates variants of the `postgresql*`-packages with JIT[1]
support. Please note that a lot of the work was derived from previous
patches filed by other contributors, namely dasJ, andir and abbradar,
hence the co-authored-by tags below.

Effectively, the following things have changed:

* For JIT variants an LLVM-backed stdenv with clang is now used as
  suggested by dasJ[2]. We need LLVM and CLang[3] anyways to build the
  JIT-part, so no need to mix this up with GCC's stdenv. Also, using the
  `dev`-output of LLVM and clang's stdenv for building (and adding llvm
  libs as build-inputs) seems more cross friendly to me (which will
  become useful when cross-building for JIT-variants will actually be
  supported).

* Plugins inherit the build flags from the Makefiles in
  `$out/lib/pgxs/src` (e.g. `-Werror=unguarded-availability-new`). Since
  some of the flags are clang-specific (and stem from the use of the
  CLang stdenv) and don't work on gcc, the stdenv of `pkgs.postgresql`
  is passed to the plugins. I.e., plugins for non-JIT variants are built
  with a gcc stdenv on Linux and plugins for JIT variants with a clang
  stdenv.

  Since `plv8` hard-codes `gcc` as `$CC` in its Makefile[4], I marked it
  as broken for JIT-variants of postgresql only.

* Added a test-matrix to confirm that JIT works fine on each
  `pkgs.postgresql_*_jit` (thanks Andi for the original test in
  #124804!).

* For each postgresql version, a new attribute
  `postgresql_<version>_jit` (and a corresponding
  `postgresqlPackages<version>JitPackages`) are now exposed for better
  discoverability and prebuilt artifacts in the binary cache.

* In #150801 the `this`-argument was replaced by an internal recursion.
  I decided against this approach because it'd blow up the diff even
  more which makes the readability way harder and also harder to revert
  this if necessary.

  Instead, it is made sure that `this` always points to the correct
  variant of `postgresql` and re-using that in an additional
  `.override {}`-expression is trivial because the JIT-variant is
  exposed in `all-packages.nix`.

* I think the changes are sufficiently big to actually add myself as
  maintainer here.

* Added `libxcrypt` to `buildInputs` for versions <v13. While
  building things with an LLVM stdenv, these versions complained that
  the extern `crypt()` symbol can't be found. Not sure what this is
  exactly about, but since we want to switch to libxcrypt for `crypt()`
  usage anyways[5] I decided to add it. For >=13 it's not relevant
  anymore anyways[6].

* JIT support doesn't work with cross-compilation. It is attempted to
  build LLVM-bytecode (`%.bc` is the corresponding `make(1)`-rule) for
  each sub-directory in `backend/` for the JIT apparently, but with a
  $(CLANG) that can produce binaries for the build, not the host-platform.

  I managed to get a cross-build with JIT support working with
  `depsBuildBuild = [ llvmPackages.clang ] ++ buildInputs`, but
  considering that the resulting LLVM IR isn't platform-independent this
  doesn't give you much. In fact, I tried to test the result in a VM-test,
  but as soon as JIT was used to optimize a query, postgres would
  coredump with `Illegal instruction`.

A common concern of the original approach - with llvm as build input -
was the massive increase of closure size. With the new approach of using
the LLVM stdenv directly and patching out references to the clang drv in
`$out` the effective closure size changes are:

    $ nix path-info -Sh $(nix-build -A postgresql_14)
    /nix/store/kssxxqycwa3c7kmwmykwxqvspxxa6r1w-postgresql-14.7	306.4M
    $ nix path-info -Sh $(nix-build -A postgresql_14_jit)
    /nix/store/xc7qmgqrn4h5yr4vmdwy56gs4bmja9ym-postgresql-14.7	689.2M

Most of the increase in closure-size stems from the `lib`-output of
LLVM

    $ nix path-info -Sh /nix/store/5r97sbs5j6mw7qnbg8nhnq1gad9973ap-llvm-11.1.0-lib
    /nix/store/5r97sbs5j6mw7qnbg8nhnq1gad9973ap-llvm-11.1.0-lib	349.8M

which is why this shouldn't be enabled by default.

While this is quite much because of LLVM, it's still a massive
improvement over the simple approach of adding llvm/clang as
build-inputs and building with `--with-llvm`:

    $ nix path-info -Sh $(nix-build -E '
	with import ./. {};
	postgresql.overrideAttrs ({ configureFlags ? [], buildInputs ? [], ... }: {
	  configureFlags = configureFlags ++ [ "--with-llvm" ];
	  buildInputs = buildInputs ++ [ llvm clang ];
	})' -j0)
    /nix/store/i3bd2r21c6c3428xb4gavjnplfqxn27p-postgresql-14.7	  1.6G

Co-authored-by: Andreas Rammhold <andreas@rammhold.de>
Co-authored-by: Janne Heß <janne@hess.ooo>
Co-authored-by: Nikolay Amiantov <ab@fmap.me>

[1] https://www.postgresql.org/docs/current/jit-reason.html
[2] https://github.com/NixOS/nixpkgs/pull/124804#issuecomment-864616931
    & https://github.com/NixOS/nixpkgs/pull/150801#issuecomment-1467868321
[3] This fails with the following error otherwise:
    ```
    configure: error: clang not found, but required when compiling --with-llvm, specify with CLANG=
    ```
[4] https://github.com/plv8/plv8/blob/v3.1.5/Makefile#L14
[5] https://github.com/NixOS/nixpkgs/pull/181764
[6] c45643d618
2023-03-29 08:39:46 +02:00
Christoph Engelbert (noctarius)
4f7f469c82
timescaledb: Fixed the licensing for the timescaledb package to be split into TSL (Timescale Community License) and Apache 2.0 components.
TimescaleDB provides two types of licenses, Apache 2.0 and Timescale Community License (TSL), with different feature sets. While all the code is in the same repository, the build
system can build both versions depending on the build parameters set in.

Co-authored-by: Emily Lange <git@indeednotjames.com>
2023-03-24 11:12:12 +01:00
Mario Rodas
9a2e14a323
Merge pull request #222453 from marsam/update-pgvector
postgresqlPackages.pgvector: 0.4.0 -> 0.4.1
2023-03-22 02:39:59 -05:00
Sandro
ffe1c9dc0f
postgresqlPackages.pg_repack: use clickable homepage 2023-03-22 00:03:59 +01:00
Mario Rodas
8a449b274a postgresqlPackages.pgvector: 0.4.0 -> 0.4.1 2023-03-21 04:20:00 +00:00
Mario Rodas
81c6568482 postgresqlPackages.plpgsql_check: 2.3.0 -> 2.3.3
https://github.com/okbob/plpgsql_check/releases/tag/v2.3.3
2023-03-14 04:20:00 +00:00