How to install and create timescaledb extension with VMware Postgres
search cancel

How to install and create timescaledb extension with VMware Postgres

book

Article ID: 296399

calendar_today

Updated On:

Products

VMware Tanzu Greenplum

Issue/Introduction

Timescaledb is a custom extension that is not currently shipped with VMware Postgres, however customers are allowed to install it at their own risk and may have questions around the installation. The article is based on these timescaledb installation instructions .

In VMware Postgres versions 13.3, 12.7, 11.12, and 10.17 and below, timescaledb install will not work and is not supported at all. Attempts to install it will give the following error:

--> Processing Conflict: vmware-postgres-11.11-1.el7.x86_64 conflicts postgresql
--> Processing Conflict: vmware-postgres-11.11-1.el7.x86_64 conflicts postgresql-libs
--> Processing Conflict: vmware-postgres-11.11-1.el7.x86_64 conflicts postgresql-server
--> Finished Dependency Resolution
Error: vmware-postgres conflicts with postgresql11-11.15-1PGDG.rhel7.x86_64
Error: vmware-postgres conflicts with postgresql11-server-11.15-1PGDG.rhel7.x86_64
Error: vmware-postgres conflicts with postgresql11-libs-11.15-1PGDG.rhel7.x86_64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest 

 

Timescaledb tries to install the Open Source version of PostgreSQL so it can place the extension files in there. This is not possible with the versions mentioned due to library conflicts. Please tell customer to upgrade to the versions in the next section.

In versions 13.4+, 12.8+, 11.13+, and 10.18+, the following improvement was introduced to change the default location of the VMware Postgres install files:

VMware Postgres 13.4 introduces some RPM packaging changes. The location of the installed files on disk has changed from /usr to /opt/vmware/postgres/13, and the names of the installed packages have changed from vmware-postgres to vmware-postgres13. 

 

This will now allow timescaledb to install properly, however there are some additional steps to create the timescaledb extension.

 

Environment

Product Version: 13.2

Resolution

1. Once you are able to install timescaledb through yum install, you will need to locate the VMware Postgres and Open Source (PGDG) PostgreSQL install locations:

Open Source:

-bash-4.2$ ls -l /usr/pgsql-11
total 12
drwxr-xr-x. 2 root root 4096 Apr 12 16:34 bin
drwxr-xr-x. 3 root root 4096 Apr 12 16:34 lib
drwxr-xr-x. 7 root root 4096 Apr 12 16:34 share 

 

VMware:

-bash-4.2$ which pg_ctl
/opt/vmware/postgres/11/bin/pg_ctl 


2. Copy the extension files from Open Source to VMware

As root:

chown -R postgres:postgres /opt/vmware/postgres 

 

As postgres user:

cp /usr/pgsql-11/share/extension/* /opt/vmware/postgres/11/share/extension
cp /usr/pgsql-11/lib/time* /opt/vmware/postgres/11/lib64 

 


3. Run timescaledb tune (If PGDATA is in a different location, specify that location):

timescaledb-tune --pg-config=/opt/vmware/postgres/11/bin/pg_config -conf-path /var/lib/pgsql/data 

 


4. Restart DB. Make sure you are using VMware Postgres binary:

/opt/vmware/postgres/11/bin/pg_ctl -D /var/lib/pgsql/data -l logfile start  


5. Create timescaledb extension:

-bash-4.2$ /opt/vmware/postgres/11/bin/psql
psql (11.15 (VMware Postgres 11.15.1))
Type "help" for help.

postgres=# \c kevin
You are now connected to database "kevin" as user "postgres".
kevin=# CREATE EXTENSION IF NOT EXISTS timescaledb;
WARNING:  
WELCOME TO
_____ _                               _     ____________  
|_   _(_)                             | |    |  _  \ ___ \ 
  | |  _ _ __ ___   ___  ___  ___ __ _| | ___| | | | |_/ / 
  | | | |  _ ` _ \ / _ \/ __|/ __/ _` | |/ _ \ | | | ___ \ 
  | | | | | | | | |  __/\__ \ (_| (_| | |  __/ |/ /| |_/ /
  |_| |_|_| |_| |_|\___||___/\___\__,_|_|\___|___/ \____/
               Running version 2.3.1
For more information on TimescaleDB, please visit the following links:

 1. Getting started: https://docs.timescale.com/timescaledb/latest/getting-started
2. API reference documentation: https://docs.timescale.com/api/latest
3. How TimescaleDB is designed: https://docs.timescale.com/timescaledb/latest/overview/core-concepts

Note: TimescaleDB collects anonymous reports to better understand and assist our users.
For more information and how to disable, please see our docs https://docs.timescale.com/timescaledb/latest/how-to-guides/configuration/telemetry.

CREATE EXTENSION
 


Note: Since we do not ship timescaledb extension currently, any customer problems with using the extension are not supported.