随笔分类 - sql / postgres
摘要:目录postgres通过partition做范围表分区1、安装pg_partman扩展2、创建需要分区表,按学生的入学时间分区3、创建分区4、插入数据5、查询分区表6、不需要子分区时7、直接插入子分区表时。8、navicat可以查看到分区的表与分区的维度 postgres通过partition做范围
阅读全文
摘要:postgres获取当月最后一天的时间 1、包含23时59分59秒 select (date_trunc('MONTH', (to_date('202101', 'yyyymm'))) + INTERVAL '1 MONTH - 1 second')::timestamp ; 输出:2021-01-
阅读全文
摘要:postgres事务问题-分段提交 在postgres的pck中,存着这自动提交事务时,想让每个dml操作都能分步提交事务。 1、pck的总调用不能存在exception的异常捕获 注释调总体的异常捕获,再每个dml操作的里面进行异常捕获。 CREATE OR REPLACE PROCEDURE P
阅读全文
摘要:目录postgres创建一个新用户1、连接到 PostgreSQL 服务器2、切换对要创建用户的数据库3、创建新的schema4、创建用户5、授权schema的使用权限给新用户 postgres创建一个新用户 1、连接到 PostgreSQL 服务器 psql -U postgres 2、切换对要创
阅读全文
摘要:postgres序列创建、删除与重置 1、序列创建 sequence_name为要创建的序列名称;start_value指定起始值;increment_by指定每次递增/递减的量;min_value和max_value分别设置最小值和最大值;cache_size表示可以从内存中获取的序列号的数目。
阅读全文
摘要:oracle迁移到postgres-逗号拼接函数listagg与string_agg oracle中的listagg函数与postgres中的string_agg函数都可以实现逗号拼接字符 1、listagg函数 SELECT t.id,listagg(字段1, ',') within GROUP(
阅读全文
摘要:postgres设置字段可为空约束与非空约束 1、设置非空约束 alter table [tab_name] alter COLUMN [col_name] set not null; 2、设置可为空约束 alter table [tab_name] alter COLUMN [col_name]
阅读全文
摘要:postgres授权给其他用户 1、授权 在授权前,需要先执行schema的使用授权,不然授权无效 grant usage on schema user_1 to user_2; GRANT SELECT ON TABLE user_1.t_conf_table TO user_2; 2、查询指定表
阅读全文
摘要:[TOC] # postgres时间计算函数date_part ## 1、计量两个时间相隔天数 ```sql select date_part('day',endDate-startDate); ``` 实例: ```sql select date_part('day',to_date('20220
阅读全文
摘要:# postgres空值转换函数coalesce 当一个字符值为空值,给定一个默认值。 ```sql coalesce(字段,默认值) ```
阅读全文
摘要:# postgres类型转换函数cast postgres在sql执行过程中是不会自动转换类型的,比如一个字符类型=一个数值类型的条件时,会报类型转换报错。 此时需要使用`cast`将两个类型转成一致的。 ```sql select 1 from pg_tab where cast(str as t
阅读全文
摘要:[TOC] # postgres数据导入 ## 1、数据导入 ```shell psql -f user_export.sql -h localhost -U mypguser -W mypostgres ``` **参数说明:** -f 读取的sql文件 -h 导入的ip地址 -U 导入的用户 -
阅读全文
摘要:[TOC] # postgres数据导出 ## 1、只导出所有对象的数据库结构 ```shell pg_dump -f user_export.sql -i -C -E UTF8 -n myschema -s -U mypguser -h localhost -W mypostgres ``` **
阅读全文
摘要:[TOC] # postgres删除与创建schema ## 1、删除schema语法 ```sql drop schema [schema_name]; ``` 或者 ```sql drop schema [if exists] [schema_name] [cascade] [restrict]
阅读全文
摘要:[TOC] # oracle迁移到postgres-分页问题 ## 1、oracle使用`rownum`进行分页 ```sql select * from ss_stu where rownum <= 10; ``` ## 2、postgres使用`limit`进行分页 ```sql select
阅读全文
摘要:[TOC] # oracle迁移到postgres-oracle中使用的`nvl`函数更改为统一的`coalesce`函数 `nvl`函数与`coalesce`函数都是值非空时,给默认值,oracle中也存在`coalesce`函数 ## 1、oracle的`nvl`函数 当成绩为空时,默认是0 `
阅读全文
摘要:[TOC] # oracle迁移到postgres-oracle中使用的`decode`函数使用`case when`统一语法 oracle中也有使用`case when`语法,使用`decode`函数比较简洁。 ## 1、oracle的`decode`语法 匹配`stu_type`为`1`的值的班
阅读全文
摘要:[TOC] # oracle迁移到postgres-执行动态sql传参不同 在sql字符串中,会动态传入值,使用阿拉伯数据定义传参的个数。 ## 1、oracle使用的是`:1` ```sql execute immediate 'select * from sys_stu where stu_na
阅读全文
摘要:[TOC] # oracle迁移到postgres-事务提交方式不同 ## 1、oracle oracle默认不自动提交事务,需要手动`commit` ## 2、postgres postgres默认自动提交事务,不需要手动`commit`,导致迁移过来的pck如果有`commit`需要注释掉
阅读全文
摘要:[TOC] # oracle迁移到postgres-执行sql方式execute不同 ## 1、oracle使用`execute immediate` ```sql execute immediate 'sql'; ``` ## 2、postgres使用`execute` ```sql execut
阅读全文

浙公网安备 33010602011771号