TimescaleDB: 4. Create the service

This documentation is part of the Automate with the CLI guide. You can view the complete guide here: Start TimescaleDB, retrieve its credentials, and modify its configuration programmatically using the Stackhero CLI.

Welcome to the Stackhero documentation!

Stackhero offers a ready-to-use TimescaleDB cloud solution designed to get you started within minutes. Here’s what you can expect:

  • All the top plugins included, such as PostGIS, PgVector, and many more.
  • Convenient access to the PgAdmin web interface for simplified database management.
  • Easy, one-click updates to keep your deployment up to date.
  • Reliable performance and enhanced security on your own private, dedicated infrastructure.

If you’re looking to save time and streamline your processes, Stackhero’s TimescaleDB cloud hosting is designed to make your experience as smooth as possible. You can try it out in just 5 minutes!

Below is a sample script that creates a stack, adds your TimescaleDB service to it, waits for it to start, retrieves its configuration (including generated credentials), and then applies a new configuration.

#!/bin/bash
set -e

export STACKHERO_TOKEN="usr-xxxxxx:your-token"

serviceStore="timescaledb"   # The TimescaleDB service store name (see step 2)
instance="..."                # An instance size from step 3
region="europe"               # A region name from step 3

# Create a stack for your service (uses your default organization; add --organization if needed)
stackId=$(stackhero --format=script stack-create \
  --name="My TimescaleDB stack")
echo "Stack created: ${stackId}"

# Add TimescaleDB to the stack (names are resolved automatically)
serviceId=$(stackhero --format=script service-add \
  --stack="My TimescaleDB stack" \
  --service-store="${serviceStore}" \
  --instance="${instance}" \
  --region="${region}")
echo "Service added: timescaledb"

# Wait for the service to be fully operational (this may take a few minutes)
stackhero service-wait-for --service="timescaledb"

# Retrieve the service configuration, including generated credentials
stackhero service-configuration-get --service="timescaledb" --format=json