Ubuntu package postgresql-15-citus-12.0 comes with citus_columnar 11.3
The ubuntu 22.04 package postgresql-15-citus-12.0 12.0.0.citus-1
It installs citus_columnar 11.3, did the build process mess up?
~$ md5sum /usr/lib/postgresql/15/lib/citus_columnar.so /usr/lib/postgresql/15/lib/citus.so
871ca1543bd1f0326ac7df922bc7bfd8 /usr/lib/postgresql/15/lib/citus_columnar.so
97054a94658ab87b67e6f6ea91390c72 /usr/lib/postgresql/15/lib/citus.so
~$ dpkg -s postgresql-15-citus-12.0
Package: postgresql-15-citus-12.0
Status: install ok installed
Priority: optional
Section: database
Installed-Size: 8884
Maintainer: Citus Data <[email protected]>
Architecture: amd64
Source: citus
Version: 12.0.0.citus-1
Provides: postgresql-15-citus
Depends: libc6 (>= 2.34), libcurl4 (>= 7.16.2), liblz4-1 (>= 0.0~r130), libpq5 (>= 9.2~beta3), libssl3 (>= 3.0.0~~alpha1), libzstd1 (>= 1.4.0), postgresql-15
Conflicts: postgresql-15-citus
Description: sharding and distributed joins for PostgreSQL
Citus is a distributed database implemented as a PostgreSQL extension. It
provides functions to easily split a PostgreSQL table into shards to be
placed on remote worker nodes. Citus can replicate shards, update their
schemas, and keep track of shard health. An advanced distributed planner
is included which handles queries and modifications against sharded tables.
Homepage: https://github.com/citusdata/citus
cc @gurkanindibay
Hi @EraYaN How did you see that columnar extension version is 11.3? In the build process, we do not put binaries directly. First, we execute make and make install just like in regular citus build. Then we put the baked binaries into the packages. @onderkalaci Is there a way to see the citus_columnar version?
An update to citus_columnar (within postges) will give the message the 11.3 is already installed but it did upgrade citus itself. And listing extensions also shows the old version.
ALTER EXTENSION citus UPDATE;
version "12.0-1" of extension "citus" is already installed
ALTER EXTENSION citus_columnar UPDATE;
version "11.3-1" of extension "citus_columnar" is already installed
UPDATE:
I did some readelf digging and it does have the string 12.0-1 in it.
~$ readelf -p .rodata /usr/lib/postgresql/15/lib/citus.so | grep 12.0-1
[ f5c4] 12.0-1
~$ readelf -p .rodata /usr/lib/postgresql/15/lib/citus_columnar.so | grep 12.0-1
[ 4bfe] 12.0-1
So not sure where postgres is loading the old binary from the server has been rebooted and restarted multiple times since the upgrade. Or maybe the version that is reported is just wrong in postgresql.
That path is the only path that contains the file named citus_columnar.so, based on sudo find / -mount -name citus_columnar.so