
postgresql
文章平均质量分 69
迷失的小鹿
这个作者很懒,什么都没留下…
展开
-
使用pgAdmin创建ERD
打开工具详细使用介绍。原创 2023-10-04 17:51:18 · 1218 阅读 · 0 评论 -
postgresql-物化视图
如果想要修改物化视图定义中的查询语句,需要删除并重建物化视图。表示如果存在依赖对象则提示错误信息,这是默认值。可以避免删除一个不存在的物化视图时产生错误;语句不能修改物化视图定义中的查询语句;表示级联删除除依赖于该物化视图的对象;语句还提供了其他的修改功能,具体参考。postgresql使用。原创 2023-10-04 17:18:15 · 1323 阅读 · 0 评论 -
postgresql16-新特性
any_value 返回任意一个值。原创 2023-10-04 16:11:11 · 711 阅读 · 0 评论 -
postgresql-聚合函数增强功能
【代码】postgresql-聚合函数增强功能。原创 2023-10-04 15:54:42 · 372 阅读 · 0 评论 -
postgresql-自增字段
【代码】postgresql-自增字段。原创 2023-10-04 01:00:31 · 582 阅读 · 0 评论 -
postgresql新特性之Merge
【代码】postgresql新特性之Merge。原创 2023-10-03 23:38:37 · 1224 阅读 · 0 评论 -
postgresql-备份与恢复
PostgreSQL 提供了备份单个数据库的工具 pg_dump,在安装目录下bin文件夹下面,关于 pg_dump 工具的各种选项,可以参考。就是备份所有的数据库文件,执行一次完整的 PostgreSQL 数据库集群备份。指定自定义格式,这种格式的备份,还原时需要使用PostgreSQL 提供的 pg_restore 工具。针对不同的备份格式,备份每次备份的数据量较小,但是恢复时需要基于全量备份,并依次恢复增量部分,时间较长。是一种不完全的恢复,使用备份的文件将数据库恢复到执行备份时的状态。原创 2023-10-03 18:42:55 · 3225 阅读 · 0 评论 -
postgresql-管理表空间
表空间的名称不能以 pg_开头,它们是系统表空间的保留名称;PostgreSQL 中的表空间与其他数据库系统不太一样,它更偏向于一个物理上的概念。只有表空间的拥有者或超级用户能够删除表空间。其他数据库中也可能存在依赖于被删除表空间的对象,同样需要先进行处理,才能删除表空。在表空间对应的目录中,创建一个特定版本的子目录(PG_版本_创建时间)修改 安装目录下data文件夹下表空间的链接,指向新的目录。删除表空间时,同时会删除文件系统中对应的表空间子目录。只有表空间的拥有者或超级用户才能修改表空间的定义。原创 2023-10-02 10:58:33 · 1631 阅读 · 0 评论 -
postgresql-管理数据表
当前用户名为 postgres,但是不存在名为 postgres 的模式,因此我们创建的表会位 public 模式中。除了自己定义表的结构之外,PostgreSQL 还提供了另一个创建表的方法,就是通过一个查。以上语句出错的原因在于新增的字段 notes 存在非空约束,但是对于已有的数据该字段的值。如果被删除的表存在依赖于它的视图或外键约束,需要指定 CASCADE 选项执行级联删除。表级约束和字段约束类似,只不过它是基于整个表定义的约束,还能够为约束指定自定义的。访问表的时候也是一样。原创 2023-09-30 17:51:58 · 908 阅读 · 0 评论 -
postgresql-数据库与模式
创建数据库对象时,只需要指定存储对象的表空间的名。,每个 PostgreSQL 实例管理的都是一个数据库集群,它可以包含多个数据库。action 指定了要执行的修改操作,例如修改数据库的名称、所有者、默认表空间、数。删除数据库会同时删除该数据库中所有的对象,以及文件系统中的数据目录。创建了模式之后,我们就可以在模式中创建各种数据库对象,例如表、数据类型、函数以及。注意,只有超级用户或者数据库的拥有者才能修改数据库的默认会话变量。),在 PostgreSQL 中,数据库对象(例如表)在文件系统中对应的是文。原创 2023-09-25 06:26:39 · 1228 阅读 · 0 评论 -
postgresql用户和角色
使用角色 user1 登录之后,数据库会话将会拥有 user1 自身的特权和 net_admins 所有的特权,在删除角色之前,需要删除它所拥有的对象,或者将这些对。权限的角色称为用户,包含其他成员(也是角色)的角色称为组(group)。除了授权表的访问权限之外,GRANT 语句还支持字段、视图、序列、数据库、函数、过程、角色可以拥有数据库对象(例如表和函数),并且可以将这些对象上的权限授予其他角色,由于角色可以拥有数据库中的对象,也可以拥有访问其他对象的权限,删除角色通常不仅仅。原创 2023-09-24 23:13:22 · 1457 阅读 · 0 评论 -
postgresql-触发器
PostgreSQL 触发器(trigger)是一种特殊的函数,当某个数据变更事件(INSERT、UPDATE、DELETE 或者 TRUNCATE 语句)或者数据库事件(DDL 语句)发生时自动执行,而不是由用户或者应用程序进行调用基于某个表或者视图数据变更的触发器被称为数据变更触发器(DML 触发器),基于数据库事件的触发器被称为事件触发器(DDL 触发器)。一般我们更多使用的是数据变更触发器行级(row-level)触发器和 语句级(statement-level)触发器。原创 2023-09-23 17:27:45 · 1215 阅读 · 0 评论 -
postgresql-存储过程
创建一个自定义的 PL/pgSQL 函数,可以使用 CREATE FUNCTION 语句AS $$DECLAREBEGINstatements;...END;$$CREATE 表示创建函数,OR REPLACE 表示替换函数定义;name 是函数名;括号内是参数,多个参数使用逗号分隔;argmode 可以是 IN(输入)、OUT(输出)、INOUT(输入输出)或者 VARIADIC(数量可变),默认为 IN;argname 是参数名称;argtype 是参数的类型;原创 2023-09-23 13:40:31 · 3464 阅读 · 0 评论 -
postgresql-视图
视图(View)本质上是一个存储在数据库中的查询语句。视图本身不包含数据,也被称为虚拟表。我们在创建视图时给它指定了一个名称,然后可以像表一样对其进行查询。原创 2023-09-16 00:25:29 · 863 阅读 · 0 评论 -
postgresql-索引与优化
索引(Index)可以用于提高数据库的查询性能;但是索引也需要进行读写,同时还会占用更多的存储空间;因此了解并适当利用索引对于数据库的优化至关重要。本篇我们就来介绍如何高效地使用 PostgreSQL 索引。-- 创建表name text-- generate_series 产生序列如果没有索引,数据库需要扫描整个表才能找到相应的数据。利用 EXPLAIN 命令可以看到数据库的执行计划,也就是 PostgreSQL 执行 SQL 语句的具体步骤执行计划参考文档。原创 2023-09-13 23:20:57 · 1797 阅读 · 0 评论 -
postgresql -数据库事务与并发控制
默认情况下,PostgreSQL 自动为以上 INSERT 语句开始一个事务,执行插入操作之后自动。原创 2023-09-13 00:05:23 · 379 阅读 · 0 评论 -
postgresql-DML
ON CONFLICT…义了一个 CTE,RETURNING *返回了被删除的数据,构成了结果集 deletes;postgresql 同样对 update 语句进行了扩展,支持使用 returning 返回更新后的数据值。其中,WHERE 决定了需要更新的数据行,只有满足条件的数据才会更新;如果在 CTE 中使用 DML 语句,我们可以将数据修改操作影响的结果作为一个临时表,然。我们可以在 CTE 中使用 DML 语句,也可以将 CTE 用于 DML 语句。条件,将会更新表中的所有数据,需要谨慎使用。原创 2023-09-12 00:03:43 · 718 阅读 · 0 评论 -
postgresql-窗口函数种类
常用的聚合函数,例如 AVG、SUM、COUNT 等,也可以作为窗口函数使用。4 个窗口函数的 OVER 子句完全相同,此时可以采用一种更简单的写法。取值窗口函数用于返回指定位置上的数据。LAG 和 LEAD 函数同样用于计算销量数据的环比/同比增长。原创 2023-09-10 21:13:33 · 934 阅读 · 0 评论 -
postgresql-窗口函数
包括 AVG、COUNT、MAX、MIN、SUM 以及STRING_AGG。聚合函数的作用是针对一组数据行进行运算,并且返回一条汇总结果分析的窗口函数(Window Function)。不过,窗口函数不是将一组数据汇总为单个结果,而是针对每一行数据,基于和它相关的一组数据计算出一个结果。下图演示了聚合函数和窗口函数的区别区别在于后者包含了 OVER 关键字;空括号表示将所有数据作为整体进行分析,所以得到的数值和聚合函数一样是窗口函数的名称;expression。原创 2023-09-10 16:23:47 · 1476 阅读 · 0 评论 -
postgresql-通用表达式
递归查询将员工表的 manager_id 与已有结果集中的 employee_id 关联,获取每个。括号内是 CTE 的内容,可以是 SELECT 语句,也可以是 INSERT、UPDATE、DELETE。sql_statement 是主查询语句,可以引用前面定义的 CTE。cte_query_iterative 是递归部分,可以引用 cte_name;如果递归查询无法从上一次迭代中返回更多的数据,将会终止递归并返回结果。cte_name 指定了 CTE 的名称,后面是可选的字段名。原创 2023-09-10 15:29:05 · 568 阅读 · 0 评论 -
postgresql-集合运算
【代码】postgresql-集合运算。原创 2023-09-07 21:41:24 · 572 阅读 · 0 评论 -
postgresql-子查询
子查询(Subquery)是指嵌套在其他 SELECT、INSERT、UPDATE 以及 DELETE 语句中的查询语句子查询的作用与多表连接查询有点类似,也是为了从多个关联的表中返回或者过滤数据。例如,我们想要知道哪些员工的月薪大于平均月薪,可以通过子查询实现子查询必须位于括号中,也称为内查询,包含子查询的查询语句被称为外查询。除了 WHERE子句之外,其他子句中也可以使用子查询,例如 SELECT 列表、FROM 子句等。原创 2023-09-07 07:23:27 · 1717 阅读 · 0 评论 -
postgresql-类型转换函数
类型转换函数用于将数据从一种类型转换为另一种类型。原创 2023-09-05 22:48:35 · 4288 阅读 · 0 评论 -
postgresql-常用日期函数
PostgreSQL 提供了以下日期和时间运算的算术运算符。获取当前系统时间-- 当前系统时间一周后的日期。原创 2023-09-05 22:01:42 · 11487 阅读 · 0 评论 -
postgresql-字符函数
regexp_replace(string, pattern, replacement [, flags])函数字符串 string 中匹配 POSIX 正则表达式。overlay(string placing substring FROM [for])函数使用 substring 覆盖字符串 string 中从。ltrim(string [,trim([leading | trailing | both] [FROM] string [, characters])函数的作用相同。原创 2023-09-04 00:41:27 · 2175 阅读 · 0 评论 -
postgresql-常用数学函数
【代码】postgresql-常用数学函数。原创 2023-09-02 23:50:38 · 1327 阅读 · 0 评论 -
postgresql-条件表达式
postgresql-条件表达式简单Case表达式搜索Case表达式缩写函数总结简单Case表达式select e.first_name ,e.last_name ,e.department_id ,case e.department_id when 90 then '管理' when 60 then '开发' else '其他' end as "部门"from cps.public.employees e ;-- 统计部门员工数量select -- 部门id为10,返回1原创 2023-09-02 22:52:57 · 1117 阅读 · 0 评论 -
postgresql-多表连接
内连接用于返回两个表中匹配的数据行,使用关键字INNER JOIN表示,也可以简写成JOIN;左外连接返回左表中所有的数据行;对于右表,如果没有匹配的数据,显示为空值。左外连接使用关键字 LEFT OUTER JOIN 表示,也可以简写成 LEFT JOIN右外连接返回右表中所有的数据行;对于左表,如果没有匹配的数据,显示为空值。右外连接使用关键字 RIGHT OUTER JOIN 表示,也可以简写成 RIGHT JOIN全外连接等效于左外连接加上右外连接,返回左表和右表中所有的数据行。全外连接使原创 2023-09-02 17:53:02 · 2647 阅读 · 0 评论 -
postgresql 分组
- 分组统计-- extract 提取-- extract(year from hire_date) 统计入职日期按年-- 上述sql可以简写为如下sql-- group by 1表示按照查询的第一列分组group by 1;-- 统计每年每个部门有多少人入职-- rollup向上翻滚from sales-- rollup相当于group by item,year+group by item+sum(quantity)-- rollup按照层级进行分组。原创 2023-08-18 07:10:52 · 1732 阅读 · 0 评论 -
postgresql 限制返回结果的数量
分页查询原创 2023-08-17 23:49:39 · 873 阅读 · 0 评论 -
postgresql 数据排序
postgresql 常见操作排序总结排序-- 排序的时候null是最大的值(看一下)selectemployee_id,manager_idfrom employees order by manager_id desc;-- nulls first使null值排在第一位selectemployee_id,manager_idfrom employees order by manager_id nulls first;-- nulls first使null值排在最后一位原创 2023-08-17 23:38:05 · 1148 阅读 · 0 评论 -
postgresql 分类排名
计算每行数据在其分区中的名次;如果存在名次相同的数据,后续的排名将会。,计算每行数据在其分区内的累积分布,也就是该行数据及其之前的数据。,计算每行数据在其分区中的名次;即使存在名次相同的数据,后续的。排名窗口函数用于对数据进行分组排名。,为分区中的每行数据分配一个序列号,序列号从 1 开始分配。,以百分比的形式显示每行数据在其分区中的名次;,将分区内的数据分为 N 等份,为每行数据计算其所在的位置。同的数据,后续的排名将会产生跳跃。排名窗口函数不支持动态的窗口大小(),而是以当前分区作为分析的窗口。原创 2023-08-17 22:50:58 · 1872 阅读 · 0 评论 -
PostgreSQL空值的判断
非空判断总结原创 2023-08-17 22:01:20 · 3658 阅读 · 0 评论 -
postgresql中基础sql查询
SQL使用SELECT和FROM查询表中的数据,PostgreSQL提供了无表查询的扩展,使用。去除查询结果中的重复值;支持两种格式的代码注释。子句过滤表中的数据;原创 2023-08-17 20:57:58 · 1265 阅读 · 0 评论 -
postgresql的在windows下的安装
windows下载页面。原创 2023-08-16 23:52:05 · 888 阅读 · 0 评论