greenplum
文章平均质量分 58
梦想画家
开源软件爱好者,乐于博客分享,业余时间喜欢跑步和科幻,希望与意趣相投朋友一起学习交流。
展开
-
PostgreSQL检测时间序列活动周期
本文通过示例学习如何发现时间序列的活动周期,如:用户什么时间段处于活动状态或有活动数据。本文给一些思路,希望对你有帮助。1. 准备数据为了简化,这里简单生成一些示例数据,代码如下:CREATE TABLE t_series (t date, data int); COPY t_series FROM stdin DELIMITER ';';2018-03-01;122018-03-02;432018-03-03;92018-03-04;132018-03-09;232018-03-.原创 2021-05-13 22:01:57 · 291 阅读 · 0 评论 -
PostgreSQL 日期时间类型
1. 日期类型本节先介绍几种最常见的日期类型。Date类型表示日期,表示范围4713 BC ~ 5874897 AD,精确至天。当前日期current_date,另外还有几个关键词:test=# select current_date::date, 'yesterday'::date,'today'::date,'tomorrow'::date; current_date | date | date | date--------------+------------原创 2021-04-28 20:22:16 · 10348 阅读 · 0 评论 -
PostgreSQL时间序列分析示例——模式匹配
本文通过实例讲解简单时间序列模式分析,如查找连续三个月增长的记录。示例数据为了演示,创建简单示例表,包括少部分示例数据:CREATE TABLE t_timeseries( id serial, data numeric);COPY t_timeseries FROM stdin DELIMITER ',';1,112,143,164,95,126,137,148,99,1510,9\.现原创 2021-04-27 21:51:21 · 657 阅读 · 0 评论 -
使用pg_stat_activity视图监控Postgresql
当监控或检查Postgresql时,我通常先查看一些系统视图,然后再进行深入分析。本文带你了解pg_stat_activity视图,通过监控信息掌握系统慢查询问题。pg_stat_activity视图首先要讨论的是pg_stat_activity,其目的是让你掌握系统此刻正在做什么。postgres=# \d pg_stat_activity; 视图 "pg_catalog.pg_stat_activity" 栏位 |原创 2021-04-14 20:33:24 · 1347 阅读 · 0 评论 -
Greenplum分区表应用记录
分区表是大多数数据库具有的很常用技术。为了提升存储和查询效率把表的数据行按照一定规则分成多个区,实现分区消除能力,大大提升操作效率。分区表实现分区表仅能在创建表DDL子句中指定。常用分区方式包括范围分区和列表分区。范围分区举例:CREATE TABLE foo (fid INT, ftype TEXT, fdate DATE)DISTRIBUTED by (fid)PARTITION BY RANGE(fdate)( PARTITION week START ('2017-11-01'原创 2021-04-08 17:43:56 · 563 阅读 · 0 评论 -
PostgreSQL通过pg_trgm扩展的三元索引实现全文检索
本文介绍利用pg_trgm扩展实现全文检索。1. 概述PostgreSQL可以使用三元索引增强全文检索。三元算法对字符串进行分词,如“dog” 被分为 “d”,”do”,”dog”,”og”多个词。pg_trgm扩展支持三元匹配。也在Gist和Gin索引上使用三元匹配操作提升检索速度或性能。对于全文搜索提供了不同的同义词,同时也可以使用Trigram来实现打字更正和建议。下面通过示例说明。2. 模糊匹配这里先介绍postgresql几种模糊操作符:like都比较熟悉的大小写敏感匹配,ili原创 2021-03-05 22:23:04 · 2236 阅读 · 1 评论 -
PostgreSQL 表空间(TABLESPACE)
1. 表空间介绍表空间即PostgreSQL存储数据文件的位置,其中包括数据库对象。如,索引、表等。PostgreSQL使用表空间映射逻辑名称和磁盘物理位置。默认提供了两个表空间:pg_default 表空间存储用户数据.pg_global 表空间存储全局数据.利用表空间可以控制PostgreSQL的磁盘布局,它有两方面的优势:首先,如果集群中的某个分区超出初始空间,可以在另一个分区上创建新的表空间并使用。后期可以重新配置系统。其次,可以使用统计优化数据库性能。举例,可以把频繁访问的索引或原创 2021-02-10 17:34:53 · 12176 阅读 · 1 评论 -
Postgresql实现动态SQL语句
本文介绍Postgresql如何实现动态SQL语句。1. 动态SQL动态SQL在程序启动时会根据输入参数替换相应变量。使用动态SQL可以创建更强大和灵活的应用程序,但在编译时SQL语句的全文不确定,因此运行时编译会牺牲一些性能。动态SQL可以是代码或SQL语句的一部分,动态部分要么由开发人员输入,要么由程序本身创建。1.1 动态SQL使用场景在PL/pgSQL函数或过程中有时需要生成动态命令,因为命令涉及不同表或数据类型,仅在运行时才能确定具体对象或值。这时比较适合使用动态SQL。另外,在特定情况原创 2021-02-09 17:14:31 · 10689 阅读 · 1 评论 -
修改Greenplum表存储和分布策略
修改Greenplum表存储和分布策略修改表是DBA最频繁的操作之一。Greenplum利用多种存储机制实现大数据量存储和处理,包括数据分布、分区、堆表、AO表、压缩、外部表等。本文介绍如何在创建表之后修改表存储和分布策略。修改表命令改变表的定义,使用ALTER TABLE改变表的属性,如列定义、分布策略,存储模式、分区结构。如增加列的非空约束。示例:ALTER TABLE sachi ALTER COLUMN name SET NOT NULL;1. 修改分布策略ALTER TABLE 提供选项原创 2021-02-05 15:51:33 · 2341 阅读 · 0 评论