暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

centos8 使用YUM 安装 TimescaleDB 和 PostgreSQL

日常累积 2021-05-28
1964

这将通过yum(或Fedora上的dnf)安装TimescaleDB和PostgreSQL。

提示: TimescaleDB requires PostgreSQL 11, 12 or 13.

先决条件

  • RHEL/CentOS 7 (or Fedora equivalent) or later

构建和安装

    

#警告#
如果您没有通过yum安装PostgreSQL,这可能会导致问题。
如果您希望在yum之外维护当前版本的PostgreSQL,建议从源代码处安装。
否则,请确保在使用此方法之前删除非yum安装。


您需要从PostgreSQL下载适合您的操作系统和体系结构的正确PGDG并安装:(You'll need to download the correct PGDG from PostgreSQL for your operating system and architecture and install it:)

# Download PGDG:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm

添加TimescaleDB的第三方存储库并安装TimescaleDB,它将从PostgreSQL repo下载所需的任何依赖项:

执行下列语句

# Add timescaledb repo
sudo tee /etc/yum.repos.d/timescale_timescaledb.repo <<EOL

添加以下内容

[timescale_timescaledb]
name=timescale_timescaledb
baseurl=https://packagecloud.io/timescale/timescaledb/el/$(rpm -E %{rhel})/\$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/timescale/timescaledb/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
EOL

执行下列命令

sudo yum update -y

禁用CentOs 8上的内置postgres包

# disable builtin postgres packages on CentOs 8
if command -v dnf; then sudo dnf -qy module disable postgresql; fi

现在为PG版本安装合适的软件包

# Now install appropriate package for PG version
sudo yum install -y timescaledb-2-postgresql-13

初始化postgresql数据库

sudo /usr/pgsql-13/bin/postgresql-13-setup initdb

修改配置文件允许远程连接

$ vi /var/lib/pgsql/13/data/postgresql.conf
listen_addresses = '*'
port=5432


$ vi /var/lib/pgsql/13/data/pg_hba.conf
host all all 0.0.0.0/0 trust

启动PostgreSQL服务

$ systemctl enable postgresql-13
$ systemctl start postgresql-13
$ systemctl status postgresql-13

修改数据库账户postgres默认密码

$ su - postgres
$ psql
$ alter user postgres password '123456';

关闭防火墙


systemctl stop firewalld.service   
systemctl disable firewalld.service #禁止firewall开机启动

配置数据库

sudo timescaledb-tune --pg-config=/usr/pgsql-13/bin/pg_config

注:如果使用默认配置,可直接使用如下命令
sudo timescaledb-tune --pg-config=/usr/pgsql-13/bin/pg_config --quiet --yes

重启数据库服务

sudo systemctl restart postgresql-13.service


最后测试:

#切换用户
sudo -i -u postgres
#进入命令窗口:
psql
#创建数据库 timeseries
CREATE DATABASE timeseries;
\l
#进入创建的数据库 timeseries
\c timeseries
CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;

#创建表:
CREATE TABLE conditions (time TIMESTAMP WITH TIME ZONE NOT NULL,device_id TEXT,temperature NUMERIC,humidity NUMERIC);
SELECT create_hypertable('conditions''time');

#插入数据:
INSERT INTO conditions(time, device_id, temperature, humidity) VALUES (NOW(), 'weather-pro-000000', 84.1, 84.1);
INSERT INTO conditions VALUES (NOW(), 'weather-pro-000002', 71.0, 51.0),(NOW(), 'weather-pro-000003', 70.5, 50.5),(NOW(), 'weather-pro-000004', 70.0, 50.2);

#查询数据
SELECT * FROM conditions LIMIT 10;

#查询数据
SELECT * FROM conditions ORDER BY time DESC LIMIT 3;

相关网站

https://docs.timescale.com/timescaledb/latest/how-to-guides/install-timescaledb/self-hosted/rhel-centos/installation-yum/##yum-installation


文章转载自日常累积,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论