[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6035":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":39,"readmeContent":40,"aiSummary":41,"trendingCount":16,"starSnapshotCount":16,"syncStatus":42,"lastSyncTime":43,"discoverSource":44},6035,"timescaledb","timescale\u002Ftimescaledb","timescale","A time-series database for high-performance real-time analytics packaged as a Postgres extension","https:\u002F\u002Fwww.tigerdata.com\u002F",null,"C",22869,1107,306,342,0,12,63,259,47,44.13,"Other",false,"main",true,[27,28,29,30,31,32,33,34,35,36,37,5,38],"analytics","database","financial-analysis","hacktoberfest","iot","postgres","postgresql","sql","tigerdata","time-series","time-series-database","tsdb","2026-06-12 02:01:15","\u003Cdiv align=center>\n\u003Cpicture align=center>\n    \u003Csource  srcset=\"https:\u002F\u002Fassets.timescale.com\u002Ftimescale-web\u002Fbrand\u002Fshow\u002Fhorizontal-black.svg\">\n    \u003Cimg alt=\"Tiger Data logo\" >\n\u003C\u002Fpicture>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=center>\n\n\u003Ch3>TimescaleDB is a PostgreSQL extension for high-performance real-time analytics on time-series and event data\u003C\u002Fh3>\n\n[![Docs](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FRead_the_docs-black?style=for-the-badge&logo=readthedocs&logoColor=white)](https:\u002F\u002Fdocs.tigerdata.com\u002F)\n[![SLACK](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAsk_the_community-black?style=for-the-badge&logo=slack&logoColor=white)](https:\u002F\u002Ftimescaledb.slack.com\u002Farchives\u002FC4GT3N90X)\n[![Try TimescaleDB for free](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTry_Tiger_Cloud_for_free-black?style=for-the-badge&logo=timescale&logoColor=white)](https:\u002F\u002Fconsole.cloud.timescale.com\u002Fsignup)\n\n\u003C\u002Fdiv>\n\n## Quick Start with TimescaleDB\n\nGet started with TimescaleDB in under 10 minutes. This guide will help you run TimescaleDB locally, create your first hypertable with columnstore enabled, write data to the columnstore, and see instant analytical query performance.\n\n### What You'll Learn\n\n- How to run TimescaleDB with a one-line install or Docker command\n- How to create a hypertable with columnstore enabled\n- How to insert data directly to the columnstore \n- How to execute analytical queries\n\n### Prerequisites\n\n- Docker installed on your machine\n- 8GB RAM recommended\n- `psql` client (included with PostgreSQL) or any PostgreSQL client like [pgAdmin](https:\u002F\u002Fwww.pgadmin.org\u002Fdownload\u002F)\n\n### Step 1: Start TimescaleDB\n\nYou have two options to start TimescaleDB:\n\n#### Option 1: One-line install (Recommended)\n\nThe easiest way to get started:\n\n> **Important:** This script is intended for local development and testing only. Do **not** use it for production deployments. For production-ready installation options, see the [TimescaleDB installation guide](https:\u002F\u002Fdocs.timescale.com\u002Fself-hosted\u002Flatest\u002Finstall\u002F).\n\n**Linux\u002FMac:**\n\n```sh\ncurl -sL https:\u002F\u002Ftsdb.co\u002Fstart-local | sh\n```\n\nThis command:\n- Downloads and starts TimescaleDB (if not already downloaded)\n- Exposes PostgreSQL on port **6543** (a non-standard port to avoid conflicts with other PostgreSQL instances on port 5432)\n- Automatically tunes settings for your environment using timescaledb-tune\n- Sets up a persistent data volume\n\n#### Option 2: Manual Docker command also used for Windows\n\nAlternatively, you can run TimescaleDB directly with Docker:\n\n```bash\ndocker run -d --name timescaledb \\\n    -p 6543:5432 \\\n    -e POSTGRES_PASSWORD=password \\\n    timescale\u002Ftimescaledb-ha:pg18\n```\n\n**Note:** We use port **6543** (mapped to container port 5432) to avoid conflicts if you have other PostgreSQL instances running on the standard port 5432.\n\nWait about 1-2 minutes for TimescaleDB to download & initialize.\n\n### Step 2: Connect to TimescaleDB\n\nConnect using `psql`:\n\n```bash\npsql -h localhost -p 6543 -U postgres\n# When prompted, enter password: password\n```\n\nYou should see the PostgreSQL prompt. Verify TimescaleDB is installed:\n\n```sql\nSELECT extname, extversion FROM pg_extension WHERE extname = 'timescaledb';\n```\n\nExpected output:\n```\n   extname   | extversion\n-------------+------------\n timescaledb | 2.x.x\n```\n\n**Prefer a GUI?** If you'd rather use a graphical tool instead of the command line, you can download [pgAdmin](https:\u002F\u002Fwww.pgadmin.org\u002Fdownload\u002F) and connect to TimescaleDB using the same connection details (host: `localhost`, port: `6543`, user: `postgres`, password: `password`).\n\n### Step 3: Create Your First Hypertable\n\nLet's create a hypertable for IoT sensor data with columnstore enabled:\n\n```sql\n-- Create a hypertable with automatic columnstore\nCREATE TABLE sensor_data (\n    time TIMESTAMPTZ NOT NULL,\n    sensor_id TEXT NOT NULL,\n    temperature DOUBLE PRECISION,\n    humidity DOUBLE PRECISION,\n    pressure DOUBLE PRECISION\n) WITH (\n    tsdb.hypertable\n);\n-- create index\nCREATE INDEX idx_sensor_id_time ON sensor_data(sensor_id, time DESC);\n```\n\n`tsdb.hypertable` - Converts this into a TimescaleDB hypertable\n\nSee more:\n\n- [About hypertables](https:\u002F\u002Fdocs.tigerdata.com\u002Fuse-timescale\u002Flatest\u002Fhypertables\u002F)\n- [API reference](https:\u002F\u002Fdocs.tigerdata.com\u002Fapi\u002Flatest\u002Fhypertable\u002F)\n- [About columnstore](https:\u002F\u002Fdocs.tigerdata.com\u002Fuse-timescale\u002Flatest\u002Fcompression\u002Fabout-compression\u002F)\n- [Enable columnstore manually](https:\u002F\u002Fdocs.tigerdata.com\u002Fuse-timescale\u002Flatest\u002Fcompression\u002Fmanual-compression\u002F)\n- [API reference](https:\u002F\u002Fdocs.tigerdata.com\u002Fapi\u002Flatest\u002Fcompression\u002F)\n\n### Step 4: Insert Sample Data\n\nLet's add some sample sensor readings:\n\n\n```sql\n-- Enable timing to see time to execute queries\n\\timing on\n\n-- Insert sample data for multiple sensors\n-- SET timescaledb.enable_direct_compress_insert = on to insert data directly to the columnstore (columnnar format for performance)\nSET timescaledb.enable_direct_compress_insert = on;\nINSERT INTO sensor_data (time, sensor_id, temperature, humidity, pressure)\nSELECT\n    time,\n    'sensor_' || ((random() * 9)::int + 1),\n    20 + (random() * 15),\n    40 + (random() * 30),\n    1000 + (random() * 50)\nFROM generate_series(\n    NOW() - INTERVAL '90 days',\n    NOW(),\n    INTERVAL '1 seconds'\n) AS time;\n\n-- Once data is inserted into the columnstore we optimize the order and structure \n-- this compacts and orders the data in the chunks for optimal query performance and compression\nDO $$\nDECLARE ch TEXT;\nBEGIN\n    FOR ch IN SELECT show_chunks('sensor_data') LOOP\n        CALL convert_to_columnstore(ch, recompress := true);\n    END LOOP;\nEND $$;\n```\n\nThis generates ~7,776,001 readings across 10 sensors over the past 90 days.\n\nVerify the data was inserted:\n\n```sql\nSELECT COUNT(*) FROM sensor_data;\n```\n\n### Step 5: Run Your First Analytical Queries\n\nNow let's run some analytical queries that showcase TimescaleDB's performance:\n\n```sql\n-- Enable query timing to see performance\n\\timing on\n\n-- Query 1: Average readings per sensor over the last 7 days\nSELECT\n    sensor_id,\n    COUNT(*) as readings,\n    ROUND(AVG(temperature)::numeric, 2) as avg_temp,\n    ROUND(AVG(humidity)::numeric, 2) as avg_humidity,\n    ROUND(AVG(pressure)::numeric, 2) as avg_pressure\nFROM sensor_data\nWHERE time > NOW() - INTERVAL '7 days'\nGROUP BY sensor_id\nORDER BY sensor_id;\n\n-- Query 2: Hourly averages using time_bucket \n-- Time buckets enable you to aggregate data in hypertables by time interval and calculate summary values.\nSELECT\n    time_bucket('1 hour', time) AS hour,\n    sensor_id,\n    ROUND(AVG(temperature)::numeric, 2) as avg_temp,\n    ROUND(AVG(humidity)::numeric, 2) as avg_humidity\nFROM sensor_data\nWHERE time > NOW() - INTERVAL '24 hours'\nGROUP BY hour, sensor_id\nORDER BY hour DESC, sensor_id\nLIMIT 20;\n\n-- Query 3: Daily statistics across all sensors\nSELECT\n    time_bucket('1 day', time) AS day,\n    COUNT(*) as total_readings,\n    ROUND(AVG(temperature)::numeric, 2) as avg_temp,\n    ROUND(MIN(temperature)::numeric, 2) as min_temp,\n    ROUND(MAX(temperature)::numeric, 2) as max_temp\nFROM sensor_data\nGROUP BY day\nORDER BY day DESC\nLIMIT 10;\n\n-- Query 4: Latest reading for each sensor\n-- Highlights the value of Skipscan executing in under 100ms without skipscan it takes over 5sec\nSELECT DISTINCT ON (sensor_id)\n    sensor_id,\n    time,\n    ROUND(temperature::numeric, 2) as temperature,\n    ROUND(humidity::numeric, 2) as humidity,\n    ROUND(pressure::numeric, 2) as pressure\nFROM sensor_data\nORDER BY sensor_id, time DESC;\n```\n\nNotice how fast these analytical queries run, even with aggregations across millions of rows. This is the power of TimescaleDB's columnstore.\n\n### What's Happening Behind the Scenes?\n\nTimescaleDB automatically:\n- **Partitions your data** into time-based chunks for efficient querying\n- **Write directly to columnstore** using columnar storage (90%+ compression typical) and faster vectorized queries\n- **Optimizes queries** by only scanning relevant time ranges and columns\n- **Enables time_bucket()** - a powerful function for time-series aggregation\n\nSee more:\n\n- [Query data](https:\u002F\u002Fdocs.tigerdata.com\u002Fuse-timescale\u002Flatest\u002Fquery-data\u002F)\n- [Write data](https:\u002F\u002Fdocs.tigerdata.com\u002Fuse-timescale\u002Flatest\u002Fwrite-data\u002F)\n- [About time buckets](https:\u002F\u002Fdocs.tigerdata.com\u002Fuse-timescale\u002Flatest\u002Ftime-buckets\u002Fabout-time-buckets\u002F)\n- [API reference](https:\u002F\u002Fdocs.tigerdata.com\u002Fapi\u002Flatest\u002Fhyperfunctions\u002Ftime_bucket\u002F)\n- [All TimescaleDB features](https:\u002F\u002Fdocs.tigerdata.com\u002Fuse-timescale\u002Flatest\u002F)\n\n### Next Steps\n\nNow that you've got the basics, explore more:\n\n### Create Continuous Aggregates\n\nContinuous aggregates make real-time analytics run faster on very large datasets. They continuously and incrementally refresh a query in the background, so that when you run such query, only the data that has changed needs to be computed, not the entire dataset. This is what makes them different from regular PostgreSQL [materialized views](https:\u002F\u002Fwww.postgresql.org\u002Fdocs\u002Fcurrent\u002Frules-materializedviews.html), which cannot be incrementally materialized and have to be rebuilt from scratch every time you want to refresh them.\n\nLet's create a continuous aggregate for hourly sensor statistics:\n\n#### Step 1: Create the Continuous Aggregate\n\n```sql\nCREATE MATERIALIZED VIEW sensor_data_hourly\nWITH (timescaledb.continuous) AS\nSELECT\n    time_bucket('1 hour', time) AS hour,\n    sensor_id,\n    AVG(temperature) AS avg_temp,\n    AVG(humidity) AS avg_humidity,\n    AVG(pressure) AS avg_pressure,\n    MIN(temperature) AS min_temp,\n    MAX(temperature) AS max_temp,\n    COUNT(*) AS reading_count\nFROM sensor_data\nGROUP BY hour, sensor_id;\n```\n\nThis creates a materialized view that pre-aggregates your sensor data into hourly buckets. The view is automatically populated with existing data.\n\n#### Step 2: Add a Refresh Policy\n\nTo keep the continuous aggregate up-to-date as new data arrives, add a refresh policy:\n\n```sql\nSELECT add_continuous_aggregate_policy(\n    'sensor_data_hourly',\n    start_offset => INTERVAL '3 hours',\n    end_offset => INTERVAL '1 hour',\n    schedule_interval => INTERVAL '1 hour'\n);\n```\n\nThis policy:\n- Refreshes the continuous aggregate every hour\n- Processes data from 3 hours ago up to 1 hour ago (leaving the most recent hour for real-time queries)\n- Only processes new or changed data incrementally\n\n#### Step 3: Query the Continuous Aggregate\n\nNow you can query the pre-aggregated data for much faster results:\n\n```sql\n-- Get hourly averages for the last 24 hours\nSELECT\n    hour,\n    sensor_id,\n    ROUND(avg_temp::numeric, 2) AS avg_temp,\n    ROUND(avg_humidity::numeric, 2) AS avg_humidity,\n    reading_count\nFROM sensor_data_hourly\nWHERE hour > NOW() - INTERVAL '24 hours'\nORDER BY hour DESC, sensor_id\nLIMIT 50;\n```\n\n#### Benefits of Continuous Aggregates\n\n- **Faster queries**: Pre-aggregated data means queries run in milliseconds instead of seconds\n- **Incremental refresh**: Only new\u002Fchanged data is processed, not the entire dataset\n- **Automatic updates**: The refresh policy keeps your aggregates current without manual intervention\n- **Real-time option**: You can enable real-time aggregation to combine materialized and raw data\n\n#### Try It Yourself\n\nCompare the performance difference:\n\n```sql\n-- Query the raw hypertable (slower on large datasets)\n\\timing on\nSELECT\n    time_bucket('1 hour', time) AS hour,\n    AVG(temperature) AS avg_temp\nFROM sensor_data\nWHERE time > NOW() - INTERVAL '60 days'\nGROUP BY hour\nORDER BY hour DESC\nLIMIT 24;\n\n-- Query the continuous aggregate (much faster)\nSELECT\n    hour,\n    avg_temp\nFROM sensor_data_hourly\nWHERE hour > NOW() - INTERVAL '60 days'\nORDER BY hour DESC\nLIMIT 24;\n```\n\nNotice how the continuous aggregate query is significantly faster, especially as your dataset grows!\n\nSee more:\n\n- [About continuous aggregates](https:\u002F\u002Fdocs.tigerdata.com\u002Fuse-timescale\u002Flatest\u002Fcontinuous-aggregates\u002F)\n- [API reference](https:\u002F\u002Fdocs.tigerdata.com\u002Fapi\u002Flatest\u002Fcontinuous-aggregates\u002Fcreate_materialized_view\u002F)\n- [TimescaleDB Documentation](https:\u002F\u002Fdocs.timescale.com)\n- [Time-series Best Practices](https:\u002F\u002Fdocs.timescale.com\u002Fuse-timescale\u002Flatest\u002Fschema-management\u002F)\n- [Continuous Aggregates](https:\u002F\u002Fdocs.timescale.com\u002Fuse-timescale\u002Flatest\u002Fcontinuous-aggregates\u002F)\n\n## Examples\n\nLearn TimescaleDB with complete, standalone examples using real-world datasets. Each example includes sample data and analytical queries.\n\n- **[NYC Taxi Data](docs\u002Fgetting-started\u002Fnyc-taxi\u002F)** - Transportation and location-based analytics\n- **[Financial Market Data](docs\u002Fgetting-started\u002Ffinancial-ticks\u002F)** - Trading and market data analysis\n- **[Application Events](docs\u002Fgetting-started\u002Fevents-uuidv7\u002F)** - Event logging with UUIDv7\n\nOr try some of our workshops\n- **[AI Workshop: EV Charging Station Analysis](https:\u002F\u002Fgithub.com\u002Ftimescale\u002FTigerData-Workshops\u002Ftree\u002Fmain\u002FAI-Workshop)** - Integrate PostgreSQL with AI capabilities for managing and analyzing EV charging station data\n- **[Time-Series Workshop: Financial Data Analysis](https:\u002F\u002Fgithub.com\u002Ftimescale\u002FTigerData-Workshops\u002Ftree\u002Fmain\u002FTimeSeries-Workshop-Finance\u002F)** - Work with cryptocurrency tick data, create candlestick charts\n\n## Want TimescaleDB hosted and managed for you? Try Tiger Cloud\n\n[Tiger Cloud](https:\u002F\u002Fdocs.tigerdata.com\u002Fgetting-started\u002Flatest\u002F) is the modern PostgreSQL data platform for all your applications. It enhances PostgreSQL to handle time series, events, real-time analytics, and vector search—all in a single database alongside transactional workloads. You get one system that handles live data ingestion, late and out-of-order updates, and low latency queries, with the performance, reliability, and scalability your app needs. Ideal for IoT, crypto, finance, SaaS, and a myriad other domains, Tiger Cloud allows you to build data-heavy, mission-critical apps while retaining the familiarity and reliability of PostgreSQL. See [our whitepaper](https:\u002F\u002Fdocs.tigerdata.com\u002Fabout\u002Flatest\u002Fwhitepaper\u002F) for a deep dive into Tiger Cloud's architecture and how it meets the needs of even the most demanding applications.\n\nA Tiger Cloud service is a single optimized 100% PostgreSQL database instance that you use as is, or extend with capabilities specific to your business needs. The available capabilities are:\n\n- **Time-series and analytics**: PostgreSQL with TimescaleDB. The PostgreSQL you know and love, supercharged with functionality for storing and querying time-series data at scale for real-time analytics and other use cases. Get faster time-based queries with hypertables, continuous aggregates, and columnar storage. Save on storage with native compression, data retention policies, and bottomless data tiering to Amazon S3.\n- **AI and vector**: PostgreSQL with vector extensions. Use PostgreSQL as a vector database with purpose built extensions for building AI applications from start to scale. Get fast and accurate similarity search with the pgvector and pgvectorscale extensions. Create vector embeddings and perform LLM reasoning on your data with the pgai extension.\n- **PostgreSQL**: the trusted industry-standard RDBMS. Ideal for applications requiring strong data consistency, complex relationships, and advanced querying capabilities. Get ACID compliance, extensive SQL support, JSON handling, and extensibility through custom functions, data types, and extensions.\nAll services include all the cloud tooling you'd expect for production use: [automatic backups](https:\u002F\u002Fdocs.tigerdata.com\u002Fuse-timescale\u002Flatest\u002Fbackup-restore\u002Fbackup-restore-cloud\u002F), [high availability](https:\u002F\u002Fdocs.tigerdata.com\u002Fuse-timescale\u002Flatest\u002Fha-replicas\u002F), [read replicas](https:\u002F\u002Fdocs.tigerdata.com\u002Fuse-timescale\u002Flatest\u002Fha-replicas\u002Fread-scaling\u002F), [data forking](https:\u002F\u002Fdocs.tigerdata.com\u002Fuse-timescale\u002Flatest\u002Fservices\u002Fservice-management\u002F#fork-a-service), [connection pooling](https:\u002F\u002Fdocs.tigerdata.com\u002Fuse-timescale\u002Flatest\u002Fservices\u002Fconnection-pooling\u002F), [tiered storage](https:\u002F\u002Fdocs.tigerdata.com\u002Fuse-timescale\u002Flatest\u002Fdata-tiering\u002F), [usage-based storage](https:\u002F\u002Fdocs.tigerdata.com\u002Fabout\u002Flatest\u002Fpricing-and-account-management\u002F), and much more.\n\n## Check build status\n\n|Linux\u002FmacOS|Linux i386|Windows|Coverity|Code Coverage|OpenSSF|\n|:---:|:---:|:---:|:---:|:---:|:---:|\n|[![Build Status Linux\u002FmacOS](https:\u002F\u002Fgithub.com\u002Ftimescale\u002Ftimescaledb\u002Factions\u002Fworkflows\u002Flinux-build-and-test.yaml\u002Fbadge.svg?branch=main&event=schedule)](https:\u002F\u002Fgithub.com\u002Ftimescale\u002Ftimescaledb\u002Factions\u002Fworkflows\u002Flinux-build-and-test.yaml?query=workflow%3ARegression+branch%3Amain+event%3Aschedule)|[![Build Status Linux i386](https:\u002F\u002Fgithub.com\u002Ftimescale\u002Ftimescaledb\u002Factions\u002Fworkflows\u002Flinux-32bit-build-and-test.yaml\u002Fbadge.svg?branch=main&event=schedule)](https:\u002F\u002Fgithub.com\u002Ftimescale\u002Ftimescaledb\u002Factions\u002Fworkflows\u002Flinux-32bit-build-and-test.yaml?query=workflow%3ARegression+branch%3Amain+event%3Aschedule)|[![Windows build status](https:\u002F\u002Fgithub.com\u002Ftimescale\u002Ftimescaledb\u002Factions\u002Fworkflows\u002Fwindows-build-and-test.yaml\u002Fbadge.svg?branch=main&event=schedule)](https:\u002F\u002Fgithub.com\u002Ftimescale\u002Ftimescaledb\u002Factions\u002Fworkflows\u002Fwindows-build-and-test.yaml?query=workflow%3ARegression+branch%3Amain+event%3Aschedule)|[![Coverity Scan Build Status](https:\u002F\u002Fscan.coverity.com\u002Fprojects\u002Ftimescale-timescaledb\u002Fbadge.svg)](https:\u002F\u002Fscan.coverity.com\u002Fprojects\u002Ftimescale-timescaledb)|[![Code Coverage](https:\u002F\u002Fcodecov.io\u002Fgh\u002Ftimescale\u002Ftimescaledb\u002Fbranch\u002Fmain\u002Fgraphs\u002Fbadge.svg?branch=main)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Ftimescale\u002Ftimescaledb)|[![OpenSSF Best Practices](https:\u002F\u002Fwww.bestpractices.dev\u002Fprojects\u002F8012\u002Fbadge)](https:\u002F\u002Fwww.bestpractices.dev\u002Fprojects\u002F8012)|\n\n## Get involved\n\nWe welcome contributions to TimescaleDB! See [Contributing](https:\u002F\u002Fgithub.com\u002Ftimescale\u002Ftimescaledb\u002Fblob\u002Fmain\u002FCONTRIBUTING.md) and [Code style guide](https:\u002F\u002Fgithub.com\u002Ftimescale\u002Ftimescaledb\u002Fblob\u002Fmain\u002Fdocs\u002FStyleGuide.md) for details.\n\n## Learn about Tiger Data\n\nTiger Data is the fastest PostgreSQL for transactional, analytical and agentic workloads. To learn more about the company and its products, visit [tigerdata.com](https:\u002F\u002Fwww.tigerdata.com).\n\n## Troubleshooting\n\n#### Docker container won't start\n\n```bash\n# Check if container is running\ndocker ps -a\n\n# View container logs (use the appropriate container name)\n# For one-line install:\ndocker logs timescaledb-ha-pg18-quickstart\n# For manual Docker command:\ndocker logs timescaledb\n\n# Stop and remove existing container\n# For one-line install:\ndocker stop timescaledb-ha-pg18-quickstart && docker rm timescaledb-ha-pg18-quickstart\n# For manual Docker command:\ndocker stop timescaledb && docker rm timescaledb\n\n# Start fresh\n# Option 1: Use the one-line install\ncurl -sL https:\u002F\u002Ftsdb.co\u002Fstart-local | sh\n# Option 2: Use manual Docker command\ndocker run -d --name timescaledb -p 6543:5432 -e POSTGRES_PASSWORD=password timescale\u002Ftimescaledb-ha:pg18\n```\n\n#### Can't connect with psql\n\n- Verify Docker container is running: `docker ps`\n- Check port 6543 isn't already in use: `lsof -i :6543`\n- Try using explicit host: `psql -h 127.0.0.1 -p 6543 -U postgres`\n\n#### TimescaleDB extension not found\n\nThe `timescale\u002Ftimescaledb-ha:pg18` image has TimescaleDB pre-installed and pre-loaded. If you see errors, ensure you're using the correct image.\n\n## Clean Up\n\nWhen you're done experimenting:\n\n#### If you used the one-line install:\n\n```bash\n# Stop the container\ndocker stop timescaledb-ha-pg18-quickstart\n\n# Remove the container\ndocker rm timescaledb-ha-pg18-quickstart\n\n# Remove the persistent data volume\ndocker volume rm timescaledb_data\n\n# (Optional) Remove the Docker image\ndocker rmi timescale\u002Ftimescaledb-ha:pg18\n```\n\n#### If you used the manual Docker command:\n\n```bash\n# Stop the container\ndocker stop timescaledb\n\n# Remove the container\ndocker rm timescaledb\n\n# (Optional) Remove the Docker image\ndocker rmi timescale\u002Ftimescaledb-ha:pg18\n```\n\n**Note:** If you created a named volume with the manual Docker command, you can remove it with `docker volume rm \u003Cvolume_name>`.\n","TimescaleDB 是一个基于 PostgreSQL 的扩展，专为时间序列和事件数据的高性能实时分析设计。其核心功能包括支持超表（hypertable）以优化存储和查询效率，以及列存（columnstore）技术来加速分析查询。TimescaleDB 采用 C 语言编写，利用了 PostgreSQL 的成熟生态，并在此基础上增强了对大规模时间序列数据处理的支持。适用于需要高效处理和分析时间序列数据的场景，如物联网（IoT）、金融分析、监控系统等，能够显著提升数据分析的速度与效率。",2,"2026-06-11 03:05:24","top_language"]