Jul 22, 2024
Posted by
Juan Jose
TimescaleDB is a powerful, open-source time-series database built on top of PostgreSQL to efficiently manage time-series data, events, and analytics. Optimized for fast ingest and complex queries, it speaks “full SQL” and is correspondingly easy to use like a traditional relational database, yet scales in ways previously reserved for NoSQL databases.
This guide will walk you through the process of setting up TimescaleDB on Microsoft Azure, ensuring you have a scalable and high-performance database ready to handle your time-series data needs.
What you'll learn:
First, head over to Azure and create your Azure account. Once you've logged into the Azure portal, you'll see a dashboard similar to this:
1. Navigate to the Azure Marketplace: In the Dashboard, click on "Create a resource" and search for "Ubuntu Server 20.04 LTS." Select it from the list.
2. Configure the VM: Click on "Create" and follow these steps:
Basics:
timescale
or use an existing one.timescale-vm
.Standard_B1s
for this tutorial.
Administrator account:
Click on "Create."
Once the deployment is completed, click on "Go to resource."
1. Once your VM is deployed, go to the "Overview" section of your VM and click on "Connect".
2. Select the SSH using Azure CLI. Click on "Select."
3. Follow the instructions to connect to your VM using SSH. Check the policies, and then click on "Configure + connect."
4. A tab will open. Click on "Apply" to continue.
5. Finally, the terminal will open. The connection is established and now you can go on with the next step, which is installing TimescaleDB.
1. Add TimescaleDB PPA:
sudo apt install gnupg postgresql-common apt-transport-https lsb-release wget
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
echo "deb https://packagecloud.io/timescale/timescaledb/ubuntu/ $(lsb_release -c -s) main" | sudo tee /etc/apt/sources.list.d/timescaledb.list
wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/timescaledb.gpg
sudo apt update
2. Install TimescaleDB:
sudo apt install timescaledb-2-postgresql-16 postgresql-client
1. Check PostgreSQL Version (Ensure it shows psql (PostgreSQL) 16.x
):
psql --version
2. Modify configuration:
cd /etc/postgresql/16/main
sudo chmod 644 postgresql.conf
nano postgresql.conf
3. Update postgresql.conf:
Set listen_addresses
to '*'
:
listen_addresses = '*'
Set shared_preload_libraries
to timescaledb
:
shared_preload_libraries = 'timescaledb'
Save and exit the editor.
4. Tune PostgreSQL:
sudo timescaledb-tune
5. Restart PostgreSQL:
sudo systemctl restart postgresql
6. Switch to PostgreSQL user:
sudo su - postgres
psql -U postgres
2. Create database:
CREATE DATABASE tutorial;
3. Connect to the database:
\c tutorial
4. Initialize TimescaleDB extension:
CREATE EXTENSION IF NOT EXISTS timescaledb;
5. Create a hypertable:
CREATE TABLE conditions (
time TIMESTAMPTZ NOT NULL,
location TEXT NOT NULL,
temperature DOUBLE PRECISION NULL,
humidity DOUBLE PRECISION NULL
);
SELECT create_hypertable('conditions', 'time');
6. Insert data:
INSERT INTO conditions(time, location, temperature, humidity)
VALUES (NOW(), 'office', 70.0, 50.0);
7. Query data:
SELECT * FROM conditions ORDER BY time DESC LIMIT 100;
You now have TimescaleDB up and running on Azure. Explore more with sample datasets and advanced tutorials available in the TimescaleDB documentation. If you have any questions, feel free to join our Slack community or check out our GitHub repository (GitHub ⭐ are welcome!).
For smaller teams wanting to focus on application development and not their database or enterprises looking for scale, cost-effectiveness, and the peace of mind of a managed solution (with one-click high availability, forking, connection pooling, a low-cost storage tier for older data, SOC 2 Type 2 compliance, and much more), try Timescale Cloud. It’s free for 30 days, no credit card required.