![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PostgreSQL数据库
我躲过世俗的雨
不与平凡为敌,不与平庸为伍。
展开
-
Postgresql数据库注释删除
Postgresql数据库注释删除1.删除表注释:select n.nspname,relname as tabname,obj_description(relfilenode,'pg_class') as comment ,concat_ws('','COMMENT ON TABLE "',nspname,'"."',relname,'" is '''';') from pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c原创 2021-08-10 09:54:54 · 666 阅读 · 1 评论 -
Timescale-减压块
Timescale-减压块环境:PostgreSQL数据库V2.x版本减压如果您需要在压缩块中回填或更新数据,您应该先解压缩该块。将数据插入压缩块比将数据插入未压缩块更费时费力,因此,如果您需要回填大量数据,那么减压该块也是一个好主意。注意: 在规划压缩策略时,如果需要,请确保留出足够的额外存储容量用于减压块 。这些是解压块准备插入或回填数据的主要步骤:暂时关闭任何现有的压缩策略。这可以阻止策略尝试压缩您当前正在处理的块。解压块。执行插入或回填。重新启用压缩策略。这将重新压翻译 2021-07-20 09:52:19 · 174 阅读 · 0 评论 -
Timescale-手动压缩
Timescale-手动压缩环境:PostgreSQL数据库V2.x版本手动压缩在大多数情况下,自动压缩策略就足够了。但是,如果您想要对压缩进行更多控制,您也可以手动压缩特定块。注意:压缩会更改磁盘上的数据,因此在开始之前始终备份!手动压缩块在开始之前,您需要压缩块列表。在此示例中,我们使用一种称为超表的超表,并压缩这些大于三天的块1.选择块进行压缩①在 psql 提示下,选择表中超过三天的所有块SELECT show_chunks('example', older_than翻译 2021-07-19 10:40:33 · 383 阅读 · 0 评论 -
Timescale-压缩
Timescale-压缩环境:PostgreSQL数据库V2.x版本压缩启用压缩后,TimescaleDB 将存储在许多行中的数据转换为数组。这意味着,它不使用大量行来存储数据,而是将相同的数据存储在单行中。由于单行占用的磁盘空间比许多行少,因此会减少所需的磁盘空间量,还可以加快一些查询速度。作为简化示例,您可能有一个表,从下面开始如下:IDTIME0012021-07-170022021-07-180032021-07-19应用压缩时,数据转翻译 2021-07-19 10:30:27 · 860 阅读 · 0 评论 -
PostgreSQL之Timescale-超表
PostgreSQL之Timescale-超表超表时间刻度数据库中的超表设计为易于管理,且对熟悉标准 PostgreSQL 表的用户具有可预测性。按照这些路线,SQL 在时间刻度数据库中创建、更改或删除(超)表的命令与 PostgreSQL 中的命令相同。尽管超表由许多相互关联的"块"表组成,但向超表盘发出的命令会自动将更改传播到属于该超表的所有块。1.超标的创建① 创建标准表CREATE TABLE table ( time TIMESTAMPTZ NOT NULL, loca原创 2021-07-13 16:33:56 · 3189 阅读 · 1 评论 -
Postgresql之表继承
Postgresql之表继承继承是来自面向对象的数据库的概念。让我们创建两个表:一个表TABLE8和一个表TABLE9,并创建视图取两者合并的数据CREATE TABLE TABLE8 ( --创建表TABLE8 id varchar, name varchar, age int, state char(2));CREATE TABLE TABLE9 ( --创建表TABLE9 id varchar, name varchar, age int);CRE原创 2021-07-07 16:48:18 · 896 阅读 · 0 评论 -
PostgreSQL创建外部链接表
PostgreSQL创建外部链接表PostgreSQL从9.1开始增加了外部表访问的功能,这个功能就是数据库直接读取数据库以外的文件,比如csv或者text等类型的文件,暂时不支持DML。PostgreSQL有各种插件能直连各种异构DB,如oracle_fdw,mysql_fdw,file_fdw等,对数据的迁移是很方便的,这是PG的扩展性较强的一个表现。一、环境:PostgreSQL 11.5创建postgres_fdw插件CREATE EXTENSION postgres_fdw;二、使用原创 2021-06-29 11:35:42 · 757 阅读 · 0 评论 -
PostgreSql数据库查看表空间,索引,表大小
PostgreSql数据库表空间,索引,表大小查询Postgresql 数据库一: 查询表空间大小select pg_size_pretty(pg_tablespace_size('pg_default'));二: 查询所有数据库大小select pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) AS size from pg_databas;三: 查询指定索引大小select原创 2021-06-29 10:25:19 · 8367 阅读 · 2 评论 -
PostgreSql删除其他数据库的连接数
PostgreSql删除其他数据库的连接数前言:工作中每当遇到要删库(得到允许的前提下)的操作时,总会报错,提示连接的人数过多而无法删除,这个时候就需要清除连接数来实现删除操作。以下就是清除连接数的方法SELECT pg_terminate_backend(pg_stat_activity.pid)FROM pg_stat_activityWHERE datname='要清除的的数据库名' AND pid<>pg_backend_pid();说明:pg_termina原创 2021-06-29 08:43:07 · 1531 阅读 · 0 评论 -
SQL练习五(列转行)
Postgresql数据库现有一张表如图:编写 SQL 查询,显示结果类型根据名分成一行,并用 , 隔开结果图如下:源码CREATE TABLE TABLE6 ( "ID" INT, "NAME" VARCHAR(36), "TYPE" VARCHAR(36));INSERT INTO TABLE6 VALUES ('1', '小明', '步行');INSERT INTO TABLE6 VALUES ('2', '小明', '步行');INSERT INTO TA.原创 2021-06-01 16:58:13 · 134 阅读 · 2 评论 -
Postgresql索引
Postgresql索引1.查看索引select * from pg_indexes where tablename='table_name'; select * from pg_statio_all_indexes where relname='table_name';注意:tablename和relname后面的 ‘’ 内的是 表名称2.创建索引create index index_name on table_name(id,name);注意:index_name 是原创 2021-06-01 09:37:01 · 468 阅读 · 1 评论 -
PostgreSQL创建外部表
PostgreSQL创建外部表PostgreSQL从9.1开始增加了外部表访问的功能,这个功能就是数据库直接读取数据库以外的文件,比如csv或者text等类型的文件,暂时不支持DML。PostgreSQL有各种插件能直连各种异构DB,如oracle_fdw,mysql_fdw,file_fdw等,对数据的迁移是很方便的,这是PG的扩展性较强的一个表现。一、环境:PostgreSQL 11.5创建postgres_fdw插件 CREATE EXTENSION postgres_fdw;如果不创原创 2021-04-20 16:04:56 · 2334 阅读 · 1 评论 -
Postgresql普通表转换分区表(上亿条数据)
Postgresql普通表转换为分区表前言:这里处理的是postgresql数据库的上亿条数据,方法有很多,这里是用的是先创建分区表在导入数据,最后更改数据库表名字达成目的。查看表普通表select * from table_原表;创建分区表 t_range,这里根据时间table_time分区CREATE TABLE t_range ( "table_id" varchar(36) NOT NULL, "table_time" timestamp(0) NOT NULL, "ta原创 2021-01-26 16:29:49 · 6261 阅读 · 4 评论 -
PostgreSql数据表清理
PostgreSql数据表清理前言:当PostgreSQL数据库中的表进行更新或删除操作时,死亡行( 被称为元组 )会被遗留下来。使用VACUUM会把它们除去,使空间能被重新利用。如果一个表没有被清空,它会变得臃肿,浪费磁盘空间而且会降低顺序表扫描的速度,而且在较小范围内也会降低索引扫描的速度。数据表收缩用法:VACUUM [({ FULL|FREEZE|VERBOSE|ANALYZE } [, ...])] [table_name [(column_name [, ...])] ]VACUUM原创 2020-12-21 16:52:36 · 3389 阅读 · 3 评论 -
PostgreSQL分区表
PostgreSQL分区表声明:内容转载别处,觉得有用就分享了出来为什么需要分区表?首先我们需要思考一个问题,为什么需要分区表?是因为Big Table的性能差,而且容量有上限,所以才需要分而治之。一张表最大的容量是232的Page页面,而Page默认值是8K,所以一张表最大的上限是32TB,如果你把Page大小改成32KB,则单表大小可以达到128TB。但是在使用分区表的情况下,一个表可以获得232个子表,每个子表的大小又能达到232 * 8192字节。所以使用了分区表就不用担心容量上限的问题了转载 2020-12-10 09:00:18 · 4040 阅读 · 0 评论