Installation problem - one computer has Apache 2 extension and one without

We have two Red Hat Linux 8.8 computers on-prem. Both have the same PostgreSQL version:
PostgreSQL 15.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-18), 64-bit

I have checked TimescaleDB version with \dx command on both of our TimescaleDB databases and first outputs:
timescaledb | 2.11.2 | public | Enables scalable inserts and complex queries for time-series data

and second one is:
timescaledb | 2.11.2 | public | Enables scalable inserts and complex queries for time-series data (Apache 2 Edition)

I know there are two licensing versions of TimescaleDB Apache 2.0 Edition and Community Edition. Is first one Cummunity Edition, because it has no “edition” name?

Like I know extension was installed following TimescaleDB web site instructions. It looks like at second computer something was not done properly (because Apache 2 Edition is installed). Can you point me to documentation or something how can I get Community Edition.

Hi, it seems an issue in our docs and it’s not pointing where to get it right.

There’s a related issue mapping a few actions already:

Also, there’s instructions to build the version by yourself using APACHE_ONLY flag in the main README.

Apache-2 licensed binaries can be built by passing -DAPACHE_ONLY=1 to bootstrap.

@jonatasdp, I have got to tell you I am now even more confused… Following both links and like I understand the docs the following commands should not work on Apache Edition:


CREATE TABLE public.tab1 (
    time TIMESTAMPTZ NOT NULL,
    location TEXT NOT NULL,
    temperature DOUBLE PRECISION NULL,
    humidity DOUBLE PRECISION NULL
);

SELECT create_hypertable('public.tab1', 'time');

ALTER TABLE public.tab1 SET (timescaledb.compress);

And output of above commands is:

tsdb=# CREATE TABLE public.tab1 (
tsdb(#     time TIMESTAMPTZ NOT NULL,
tsdb(#     location TEXT NOT NULL,
tsdb(#     temperature DOUBLE PRECISION NULL,
tsdb(#     humidity DOUBLE PRECISION NULL
tsdb(# );
CREATE TABLE
tsdb=#
tsdb=# SELECT create_hypertable('public.tab1', 'time');
 create_hypertable
-------------------
 (8,public,tab1,t)
(1 row)

tsdb=#
tsdb=# ALTER TABLE public.tab1 SET (timescaledb.compress);
ALTER TABLE
tsdb=#

Above is exactly the same output on my both systems (from first post).

Questions (I am only interested for on-prem self-hosted solution):

  1. I don’t really understand, now. Should “compress” work on “Apache 2 Edition” or not? If “compress” should not work fine on “Apache 2 Edition”, why is it working on my TimescaleDB?
  2. Following Linux installation: “Timescale Documentation | Install TimescaleDB on Linux” which edition of TimescaleDB should get installed? “Apache 2 Edition” or “Community Edition”. I am asking this, because I have followed above instructions and I have got “Apache 2 Edition” when I execute \dx in my TimescaleDB database.

Interesting that you don’t get any warning about the feature not being available @ts101.

Please, open a bug about it. As you got very reproducible steps, it seems something that should be fixed in the code level probably.

@jonatasdp, I have reported a bug. It does look like strange to me. It reports having Apache 2 Edition installed but compression is working.

What I would like to know is, what is the version I should get following TimescaleDB Linux/Red Hat installation documentation? Should I have Community Edition or Apache 2 Edition? Like I understand I should have Community Edition, but \dx command is reporting Apache 2 Edition.

Community Edition is the most up to date.

Can you elaborate? Which edition should be installed following official self-hosted TimescaleDB Linux installation:
a) Community Edition
b) Apache 2 Edition

Please, always use the Community Edition. All our releases are packaging only the Community edition which is the one using Timescale License.

The Apache 2 is very old and will not have all the features. It’s only available on Azure and other managed clouds that are not the official Timescale cloud as they don’t have the right to run it according to the license.

If “Apache 2” license is very old, then I probably have “Community Edition” installed despite \dx command outputs “Apache 2 Edition”.

\dx

                                                   List of installed extensions
        Name        | Version |   Schema   |                                     Description
--------------------+---------+------------+--------------------------------------------------------------------------------------
 timescaledb        | 2.12.1  | public     | Enables scalable inserts and complex queries for time-series data (Apache 2 Edition)

Looks like displaying “Apache 2 Edition” in \dx is a bug, then?

You have the latest version. Probably you have all the features. My guess is that maybe it will also block compression usage and other features. Give a try and keep the github issue up to date, so all insights can be useful during development as well.

Quick update: I updated to the latest v2.13.0, but \dx still displays “Apache 2 Edition”.
I also updated the issue on github.

1 Like