![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
postgresql
文章平均质量分 53
谷满满
这个作者很懒,什么都没留下…
展开
-
postgresql 字符串拼接函数concat_lower_or_upper
字符串拼接concat_lower_or_upper。3、指定关键字的写法,=> 或者 :=原创 2022-10-13 16:40:39 · 1080 阅读 · 0 评论 -
postgresql 关于JSON、JSONB操作符以处理函数
>->>#>#>>说明:1、-> 运算符用于通过 key 获取json或jsonb对象字段的值,返回值类型为json或jsonb2、->> 运算符用于通过 key 获取json或jsonb对象字段的值,返回值类型为text3、#>运算符用于通过指定提取key的顺序,获取指定的值,返回类型为json或jsonb4、#>>运算符用于通过指定提取key的顺序,获取指定的值,返回值类型为text。原创 2022-10-13 16:35:43 · 3981 阅读 · 0 评论 -
postgresql Window Functions
当一个查询涉及多个窗口函数时,可以用一个单独的OVER子句写出每个窗口函数,但如果多个函数需要相同的窗口行为,这是重复的和容易出错的。相反,每个窗口行为都可以在窗口子句中命名,然后在OVER中引用。窗口函数不会像非窗口聚合调用那样使行分组到单个输出行中。相反,这些行保留了它们单独的身份。不可以和GROUP BY、 WHERE子句一起用。如果在执行窗口计算后需要过滤或分组行,则可以使用子选择。您还可以使用OVER中的顺序BY来控制窗口函数处理行的顺序。(窗口顺序BY甚至不必与行的顺序匹配。...原创 2022-08-04 15:11:59 · 284 阅读 · 0 评论 -
postgresql autovaccum自动清理
postgresql autovaccum原创 2022-07-27 17:32:53 · 2765 阅读 · 0 评论 -
安装 PostgreSQL 报错 VC++ runtime error 的解决方法
VC++ runtime error问题的解决方法问题原因:可能是VC++ runtime 已经安装,所以在安装PostgreSQL时不安装VC++ runtime 即可,具体步骤如下:(1)Win + R 打开运行界面(2)输入 CMD , 进入 DOS 界面(3)将路径切换到PostgreSQL所在的路径下输入 D:可切换到D盘下,输入F:切换到F盘下;切换到指定盘符后,输入 cd 文件夹名 进入指定文件夹输入 postgresql-9.6.11-1-windows-x64.exe转载 2022-05-26 15:33:35 · 1911 阅读 · 0 评论 -
postgresql copy语句
总述copy命令用于在postgreSql表和标准文件系统直接传输数据。 copy命令让PostgreSQL 服务器直接读写文件,因此文件必须位于服务器本地或能被直接访问。 该命令仅能在表上使用,不能用于视图;示例拷贝表至文件1、使用空格作为字段直接的分隔COPY test_table TO 'save_file_folder/test_data.copy' WITH DELIMITER ' ';2、二进制文件COPY t...原创 2022-05-26 15:00:25 · 8030 阅读 · 0 评论 -
postgresql 捕获函数中的异常
BEGIN逻辑块EXCEPTION WHEN 错误码(如:unique_violation) or others THEN异常逻辑块END;原创 2022-05-26 10:41:36 · 618 阅读 · 0 评论 -
postgresql 语句
IF 条件语句IF ... THEN...END IF; IF ... THEN ... ELSE...END IF; IF ... THEN ... ELSEIF ... THEN ... END IF; IF ... THEN ... ELSEIF ... THEN ... ELSE...END IF;LOOP 循环语句1、使用 IF 退出循环Loop 逻辑块IF… THEN...原创 2022-05-26 09:43:35 · 3766 阅读 · 0 评论 -
postgresql 函数的参数为自定义类型时传参格式
自定义类型CREATE TYPE test_type_input AS ( id integer, name character varying(200));自定义函数CREATE OR REPLACE FUNCTION public.test_function( in_pro_arr test_type_input[], OUT pro_len integer, OUT out_name character varying[]) RETURNS reco原创 2022-05-25 17:04:20 · 1191 阅读 · 0 评论 -
postgresql 自定义类型添加字段
更新脚本ALTER TYPE test_type ADD ATTRIBUTE out_test text;原创 2022-03-28 16:00:07 · 2139 阅读 · 0 评论 -
postgresql 外键
外键定义PostgreSQL Foreign Key约束指定子表中一组列或一列中的值,相当于父表中一组列或一列中的值。在父子关系中,父表保留初始列值,子表的列值引用父列值。创建外键下图用于在 PostgreSQL 中使用CREATE TABLE命令定义Foreign Key:[CONSTRAINT constraint_name] FOREIGN KEY [foreign_key_name] (column_name, ...) REFERENCES pare..原创 2022-03-25 09:36:57 · 2219 阅读 · 0 评论 -
postgresql 序列Sequence
一、创建序列示例-- SEQUENCE: test_id_seq-- DROP SEQUENCE test_id_seq;CREATE SEQUENCE test_id_seq INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 9223372036854775807 CACHE 1;语法CREATE SEQUENCE [ IF NOT EXISTS ] sequence_name [ AS { S原创 2022-03-24 16:36:12 · 1857 阅读 · 0 评论 -
postgresql vaccum机制
vacuum主要分vacuum full和lazy vacuumvacumm fullvacuum full会锁表和索引,而且是“AccessExclusiveLock”级别的。其实vacuum full会重建整个表,这个的功能实现在cluster.c文件中,因为其行业相当于是一个cluster重建的一个变种。建临时表阶段:PG会新表一个以”pg_temp_%u”的临时表,临时表继承老表所有属性。”%u”是老表的OID。如果用户表有名字与这个临时表相同的,那么就会失败。另外临时表的OID是re转载 2022-03-18 16:27:54 · 1689 阅读 · 1 评论 -
postgresql常用配置
配置文件路径postgresql安装目录\data\postgresql.conf配置列表原创 2022-03-18 15:28:05 · 966 阅读 · 0 评论 -
postgresql表禁止更新或删除
转载:https://postgres.fun/20120810153010.html方式一:使用规则实现1、创建更新规则说明:test_rule为表名,rul_test_rule_update为规则名。即在表test_rule 上创建了一个规则rul_test_rule_update,当在这张表上执行 update 操作时,啥也不干。create or replace rule rul_test_rule_update as on update to test_r.转载 2022-03-18 14:14:29 · 991 阅读 · 0 评论 -
pgAgent创建定时任务
创建定时任务1、pgAdmin下,PostgreSql 9.5->pgAgent Jobs右击,选择Create->pgAgent Job2、General选项卡,填写任务名称、是否开启3、Steps选项卡,点击+点击编辑图标4、填写名称,Connection type选择Remote(因为选择Local的时候,定时任务不执行);Connection string填写为user=postgres host=localhost port=...原创 2022-03-17 17:53:00 · 1596 阅读 · 0 评论 -
postgresql9.5 安装pgAgent
pgAgent安装包:pgagent-3.4.0-4-windows.exe链接:https://pan.baidu.com/s/1Mb0yNr1-QVJoGT3rMJCPsQ提取码:lxa0安装步骤1、选择安装路径,点击Next2、首次安装,Upgrade Mode可以不用勾选。点击Next3、填写数据库的用户名、密码、端口号,点击Next4、系统创建运行pgAgent的账户,或直接使用管理员账户。点击Next5、点击Next报错时,如下图:..原创 2022-03-17 17:17:47 · 1570 阅读 · 0 评论 -
Postgresql的pg_stat_activity字段说明
Column Type Description datid oid 后台连接的数据库id(OID) datname name 后台连接的数据库名 pid integer 后代进程id(PID) usesysid oid 连接到后台的用户id usename name 连接到后台的用户名称 application_name text 通过后台连接的应用程序名称 client_addr inet原创 2022-03-17 11:01:48 · 4678 阅读 · 0 评论 -
PostgreSQL WITH
定义WITH 子句有助于将复杂的大型查询分解为更简单的表单,被 WITH 语句定义的语句成为【通用表表达式】(Common Table Express,CTR),也可以当做一个为了查询而存在的临时表。示例WITH w1 AS ( SELECT id,name FROM t_table where id=1), w2 AS ( SELECT id,name FROM t_table2 WHERE id=1)SELECT tl.name, w1.name a原创 2021-10-28 14:06:29 · 338 阅读 · 0 评论 -
PostgreSQL Function
创建Function参数说明 function_name:Functions名称 [OR REPLACE]:更改当前Functions,可以使用OR REPLACE关键字。它是一个可选参数。 arguments:参数列表。一个Functions可以包含零个或多个参数。 return_datatype:Function的返回值类型,可以是表列类型的基本类型、复合类型或域类型或引用。 function_body:逻辑的可执行部分 示例Cre.原创 2021-10-28 09:34:00 · 2006 阅读 · 1 评论 -
PostgreSQL trigger
创建TriggerStep1:使用CREATE FUNCTION命令创建一个Trigger函数。Step2:使用CREATE TRIGGER命令将Trigger函数固定到一个表中。创建Trigger函数语法CREATE FUNCTION trigger_function() RETURNS TRIGGER LANGUAGE PLPGSQL AS $$ BEGIN -- trigger logic goes here? END; $...原创 2021-10-27 15:02:39 · 846 阅读 · 1 评论 -
PostgreSQL upsert属性
语法格式INSERT INTO table_name(column_list) VALUES(value_list) ON CONFLICT [target] [action];target内容column_name:指定表中的列名 ON CONSTRAINT constraint_ name:约束的名称 WHERE predicate:where条件Action:已存在时,执行的操作 DO NOTHING:什么都不做 DO UPDATE SET co...原创 2021-10-27 13:53:03 · 207 阅读 · 0 评论 -
PostgreSQL max_connections配置优化
当用户与PostgreSQL建立连接时,先与postmaster进程建立连接,然后postmater fork一个子进程给这个连接。对于创建的每个连接,操作系统都需要为打开网络套接字的进程分配内存,最多扩展到数千个连接后,而只为用户准备使用数据库的阶段就浪费了很多时间。设置较高max_connections也涉及到其他成本比如磁盘争用,造成过多的io等待;操作系统调度甚至CPU级别的缓存争用。同时,对于每一个连接,在shared memory中都有一个结构体PGPROC用于追踪正在运行...原创 2021-10-27 09:38:56 · 3163 阅读 · 0 评论 -
postgresql进程cpu过高分析和解决方案
一:通过pg_stat_activity视图查询慢查询或高处理时长的进程select pid, datname, usename, client_addr, application_name, state, backend_start, xact_start, xact_stay, query_start, query_stay, replace(q...原创 2021-10-22 11:15:59 · 5012 阅读 · 0 评论