LightDB 22.1版本发布了
LightDb22.1-13.3版本正式发布了,此版本为集中式、分布式融合版,用户可选择分布式或集中式,EM和lightdb-x正式可独立部署。
下面介绍部分本版本的支持情况。详细可参见:
Release Notes: https://www.hs.net/lightdb/docs/html/release-13-3-22-1.html
LightDB支持自动预热
添加新的 GUC 参数pg_prewarm.lt_autoprewarm_dbs, pg_prewarm.lt_autoprewarm_tables以及 pg_prewarm.lt_autoprewarm_indexes用于 pg_prewarm 扩展,用于在 LightDB 启动时自动选择性地预热指定的数据库、表和索引。
支持实例启动时预热指定数据库
可以在配置文件(postgresql.conf)中添加你想要预热的数据库:
pg_prewarm.lt_autoprewarm_dbs = 'postgres, postgres2'
这时候启动实例会自动预热你所配置的数据库。
[lightdb@localhost data]$ lt_ctl -D $PGDATA start
2022-04-13 02:32:43.302591T @ postmaster 00000[2022-04-13 02:32:43 PDT] 0 [6377] LOG: LightDB autoprewarm: prewarm dbnum=2
2022-04-13 02:32:43.302619T @ postmaster 00000[2022-04-13 02:32:43 PDT] 0 [6377] LOG: LightDB autoprewarm: prewarm dbname=postgres, dbindex=0
2022-04-13 02:32:43.302624T @ postmaster 00000[2022-04-13 02:32:43 PDT] 0 [6377] LOG: LightDB autoprewarm: prewarm dbname=postgres2, dbindex=1
2022-04-13 02:32:43.303851T @ postmaster 00000[2022-04-13 02:32:43 PDT] 0 [6377] LOG: pgaudit extension initialized
waiting for server to start....2022-04-13 02:32:43.371806T @ postmaster 00000[2022-04-13 02:32:43 PDT] 0 [6377] LOG: starting LightDB 13.3-22.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit
2022-04-13 02:32:43.372669T @ postmaster 00000[2022-04-13 02:32:43 PDT] 0 [6377] LOG: listening on IPv4 address "0.0.0.0", port 5432
2022-04-13 02:32:43.372685T @ postmaster 00000[2022-04-13 02:32:43 PDT] 0 [6377] LOG: listening on IPv6 address "::", port 5432
2022-04-13 02:32:43.374035T @ postmaster 00000[2022-04-13 02:32:43 PDT] 0 [6377] LOG: listening on Unix socket "/tmp/.s.LIGHTDB.5432"
2022-04-13 02:32:43.376977T @ startup 00000[2022-04-13 02:32:43 PDT] 0 [6380] LOG: database system was shut down at 2022-04-13 02:32:36 PDT
2022-04-13 02:32:43.379537T @ postmaster 00000[2022-04-13 02:32:43 PDT] 0 [6377] LOG: database system is ready to accept connections
2022-04-13 02:32:43.383692T @ pg_cron launcher 00000[2022-04-13 02:32:43 PDT] 0 [6386] LOG: pg_cron scheduler started
2022-04-13 02:32:43.391345T @ pg_prewarm-postgres2 00000[2022-04-13 02:32:43 PDT] 0 [6387] LOG: LightDB autoprewarm: db=postgres2 prewarm success! prewarm-block=812
2022-04-13 02:32:43.393395T @ pg_prewarm-postgres 00000[2022-04-13 02:32:43 PDT] 0 [6388] LOG: LightDB autoprewarm: db=postgres prewarm success! prewarm-block=1254
done
server started
支持实例启动时预热指定表
可以在配置文件(postgresql.conf)中添加你想要预热的表:
pg_prewarm.lt_autoprewarm_tables = 'postgres.public.pgbench_accounts, postgres.public.pgbench_branches'
这时候启动实例会自动预热你所配置的表。
[lightdb@localhost data]$ lt_ctl -D $PGDATA start
waiting for server to start....2022-04-13 02:46:25.536274T @ postmaster 00000[2022-04-13 02:46:25 PDT] 0 [6704] LOG: LightDB autoprewarm: prewarm dbnum=1
2022-04-13 02:46:25.536298T @ postmaster 00000[2022-04-13 02:46:25 PDT] 0 [6704] LOG: LightDB autoprewarm: prewarm dbname=postgres, dbindex=0
2022-04-13 02:46:25.537455T @ postmaster 00000[2022-04-13 02:46:25 PDT] 0 [6704] LOG: pgaudit extension initialized
2022-04-13 02:46:25.602757T @ postmaster 00000[2022-04-13 02:46:25 PDT] 0 [6704] LOG: starting LightDB 13.3-22.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit
2022-04-13 02:46:25.602930T @ postmaster 00000[2022-04-13 02:46:25 PDT] 0 [6704] LOG: listening on IPv4 address "0.0.0.0", port 5432
2022-04-13 02:46:25.603007T @ postmaster 00000[2022-04-13 02:46:25 PDT] 0 [6704] LOG: listening on IPv6 address "::", port 5432
2022-04-13 02:46:25.604400T @ postmaster 00000[2022-04-13 02:46:25 PDT] 0 [6704] LOG: listening on Unix socket "/tmp/.s.LIGHTDB.5432"
2022-04-13 02:46:25.606912T @ startup 00000[2022-04-13 02:46:25 PDT] 0 [6707] LOG: database system was shut down at 2022-04-13 02:46:22 PDT
2022-04-13 02:46:25.609438T @ postmaster 00000[2022-04-13 02:46:25 PDT] 0 [6704] LOG: database system is ready to accept connections
2022-04-13 02:46:25.612691T @ pg_cron launcher 00000[2022-04-13 02:46:25 PDT] 0 [6713] LOG: pg_cron scheduler started
2022-04-13 02:46:25.685779T @ pg_prewarm-postgres 00000[2022-04-13 02:46:25 PDT] 0 [6714] LOG: LightDB autoprewarm: table=postgres.public.pgbench_accounts prewarm success! prewarm-block=16943
2022-04-13 02:46:25.685874T @ pg_prewarm-postgres 00000[2022-04-13 02:46:25 PDT] 0 [6714] LOG: LightDB autoprewarm: table=postgres.public.pgbench_branches prewarm success! prewarm-block=3
done
server started
当然也可以指定某些索引进行自动预热。特别说明,预热表的时候会自动预热表、表索引,表分区以及表分区的索引。
详细语法可参考LightDB官网查看https://www.hs.net/lightdb
更多请登录LightDB官网进行查看:https://www.hs.net/lightdb