Tea*_*orn 2 go hypertable timescaledb
我正在关注 timescaleDB 的教程.. https://docs.timescale.com/timescaledb/latest/how-to-guides/hypertables/create/#create-a-hypertable
但我无法创建超表..我已经成功安装了 postgres 和 timescale。为什么我不能制作超表?
package main
import (
"context"
"encoding/json"
"fmt"
"log"
"os"
"runtime"
"strconv"
"sync"
"github.com/jackc/pgx/v4/pgxpool"
)
func main(){
timeScaleDB()
}
func timeScaleDB(){
psqlInfo := fmt.Sprintf("host=%s port=%d user=%s "+
"password=%s dbname=%s sslmode=disable",
host, port, user, password, dbname)
ctx := context.Background()
dbpool, err := pgxpool.Connect(ctx, psqlInfo)
if err != nil {
fmt.Fprintf(os.Stderr, "Unable to connect to database: %v\n", err)
os.Exit(1)
}
defer dbpool.Close()
queryCreatetable := `CREATE TABLE sample_table (
time TIMESTAMPTZ NOT NULL,
id INTEGER PRIMARY KEY,
name VARCHAR NOT NULL
);
SELECT create_hypertable('sample_table', 'time');`
//execute statement
_, err = dbpool.Exec(ctx, queryCreatetable)
if err != nil {
fmt.Fprintf(os.Stderr, "Unable to create sample_table hypertable: %v\n", err)
os.Exit(1)
}
fmt.Println("Successfully created hypertable sample_table")
}
Run Code Online (Sandbox Code Playgroud)
错误:无法创建sample_table超表:错误:函数create_hypertable(未知,未知)不存在(SQLSTATE 42883)
您能否确认您是否启用了该扩展程序?只需将服务器加入 psql 会话并使用命令列出扩展即可\dx:
tsdb=> \dx
List of installed extensions
Name | Version | Schema | Description
---------------------+---------+------------+-------------------------------------------------------------------
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
timescale_analytics | 0.2 | public | timescale_analytics
timescaledb | 2.2.0 | public | Enables scalable inserts and complex queries for time-series data
...
Run Code Online (Sandbox Code Playgroud)
或者干脆尝试提前启用扩展:
CREATE EXTENSION IF NOT EXISTS timescaledb;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1332 次 |
| 最近记录: |