postgresql
会飞的尼古拉斯
没有个性,但比较尿性
展开
-
postgresql group by之后对string字段进行拼接
【代码】postgresql group by之后对string字段进行拼接。原创 2023-10-24 10:36:24 · 1411 阅读 · 0 评论 -
pg_dump备份多张表到不同的sql文件
上面命令将所有以thr开头的表以及ellll表备份到sql文件。2. pg_dump备份多张表到不同文件。原创 2023-10-19 10:05:02 · 565 阅读 · 0 评论 -
ubuntu 安装 postgresql以及 wal回滚
postgresql wal回滚原创 2023-08-18 13:38:51 · 762 阅读 · 0 评论 -
postgresql 谨慎使用正则删除(%,_)
postgresql like 正则原创 2023-08-18 12:59:46 · 468 阅读 · 0 评论 -
关于postgresql中with 临时表的使用,筛选出来当天温度比昨天温度高的数据
with临时表原创 2023-06-08 09:45:42 · 288 阅读 · 0 评论 -
python psycopg2 server side cursors,服务端评估,遍历海量数据,提高性能
psycopg2 服务端游标,遍历大量数据原创 2022-10-13 17:00:08 · 515 阅读 · 0 评论 -
postgresql hash分区,partition by hash
pgsql hash分表原创 2022-09-26 10:04:24 · 1417 阅读 · 0 评论 -
pgsql 重置自增id起始值
重置自增序列原创 2022-09-14 16:35:38 · 4213 阅读 · 0 评论 -
ubuntu 安装postgresql 客户端 psql 以及运行相关命令
安装psqlsudo apt install postgresql-client-commonsudo apt-get install postgresql-client连接remotepsql -h ***** -p 5432 -U root -d postgresU 代表用户名 d代表数据库列出database\l列出所有表\dt切换数据库\c databasename;............原创 2022-05-25 15:13:29 · 4479 阅读 · 0 评论 -
postgresql 异步创建索引
通常情况下创建索引时,postgresql数据库会锁定表以防止写入,然后对表做全表扫描,从而完成索引的创建。在此过程中用户仍然可以查询,但不能插入、更新、删除,对于一个含有大量数据的表,创建索引可能需要几十分钟,这会导致其他操作的等待。鉴于此postgresql支持异步创建索引。CONCURRENTLY建表CREATE TABLE "public"."test" ( "id" int4 NOT NULL DEFAULT NULL, "name" text COLLATE "pg_catalo原创 2021-11-15 10:49:17 · 1768 阅读 · 0 评论 -
postgresql 约束
字段约束我们经常会遇到表中有age字段等情况,想设置age字段的范围,就可以使用字段检查约束形如CREATE TABLE "public"."testcheck" ( "id" int4 NOT NULL DEFAULT NULL, "age" int4 DEFAULT NULL constraint age_check check (age>=0 and age<=100), "name" varchar(255) COLLATE "pg_catalog"."default原创 2021-11-15 09:25:14 · 592 阅读 · 0 评论 -
postgresql jsonb_set 更改json数据
假如有个表存储的json数据如下{"name":"ss","age":100,"die":true}想更改name,使用以下sql,注意需要条件引号select jsonb_set(jsontest ,'{name}','"t5t"') from tt where id =5假如json 如下[ { "model": "core.location", "pk": 119, "fields": { "name": "原创 2021-11-12 11:19:52 · 6398 阅读 · 3 评论 -
postgresql json_extract_path 提取数据
假设表中有json字段存储的数据如下[ { "model": "core.location", "pk": 119, "fields": { "name": "Vista Community Clinic- The Gary Center, S. Harbour Blvd", "full_address": "201 S. Harbor Boulevard, \nLa Habra, CA 90631"原创 2021-11-12 11:09:40 · 2371 阅读 · 0 评论 -
postgresql EFCore 悲观锁与乐观锁
安装依赖包 <ItemGroup> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.1.1" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.1"> <PrivateAssets>all</PrivateAssets&g.原创 2021-10-27 10:05:05 · 792 阅读 · 0 评论 -
postgresql 删除重复数据
建表/* Navicat Premium Data Transfer Source Server : localhost Source Server Type : PostgreSQL Source Server Version : 110012 Source Host : localhost:5432 Source Catalog : postgres Source Schema : public Targe.原创 2021-07-30 10:26:18 · 410 阅读 · 0 评论 -
postgresql interval 转换成秒
SELECT EXTRACT(epoch FROM my_interval)/3600原创 2021-05-19 10:34:07 · 1575 阅读 · 0 评论 -
postgresql 在一条sql语句中使用多个with
Use the key word WITH once at the top. If any of your Common Table Expressions (CTE) are recursive (rCTE) you have to add the keyword RECURSIVE at the top once also, even if not all CTEs are recursive:WITH RECURSIVE cte1 AS (...) -- can still be原创 2021-05-11 10:46:12 · 4596 阅读 · 0 评论 -
postgresql 获取时间所在的周数,以及周日期
获取周数SELECT date_part('week',TIMESTAMP '2021-03-11');获取周时间SELECT date_trunc('week', '2021-03-11'::timestamp);如果你不想获取周起始时间,也可以获取结束时间SELECT date_trunc('week', '2012-07-25 22:24:22'::timestamp)::date || ' ' || (date_trunc('week', '2012-07-25 22原创 2021-03-11 10:08:58 · 13990 阅读 · 6 评论 -
postgresql 10位与13位时间戳装换成时间
--- 10位select to_timestamp(1614826440) AT TIME ZONE 'PRC';--- 13位select to_timestamp(1614826440000 / 1000) AT TIME ZONE 'PRC';原创 2021-03-09 09:54:50 · 2790 阅读 · 0 评论 -
postgresql 获取任何一个月的最后一天
select date_trunc('month', now()::date) + interval '1 month' - interval '1 day';原创 2021-03-05 16:13:08 · 10501 阅读 · 1 评论 -
postgresql取出分组的第一条数据
-- 根据编号分组后取第一条数据SELECT * FROM (SELECT ROW_NUMBER() OVER (partition BY no ORDER BY no) rowId,* from table) tWHERE rowId=1原创 2021-03-04 12:20:36 · 8331 阅读 · 2 评论 -
不同类型数据库连接字符串
https://www.connectionstrings.com/转载 2020-09-16 10:58:44 · 229 阅读 · 0 评论 -
dapper 结合postgresql完成数据映射操作
环境准备:1 安装Npgsql2 安装Dapper设置连接字符串 <connectionStrings> <add name="connect" connectionString="User ID=postgres;Password=postgres;Host=localhost;Port=5432;Database=postgres;"/> </connectionStrings>数据库类(没有做成泛型)需要添加using Dapper;原创 2020-09-16 10:54:10 · 3041 阅读 · 0 评论 -
postgresql行转列,按照key值相同,把某一列拼接
有这样一张表:select * from liutest order by 1;id | kw----±-------1 | big1 | hello2 | oracle2 | small2 | apple3 | shit(6 rows)我想按id把kw拼接成一个字符串,在网上查到一种方法:select id,array_to_string ( ARRAY ( SELECT kw原创 2020-05-12 09:43:25 · 652 阅读 · 0 评论 -
postgresql 递归查询,查询父子节点关联关系
递归递归是指程序调用自身的一种编程技巧,在SQL中也有递归查询。下面我们通过一个省市区的示例来讲解递归查询的用法。问题有如下一张表City,希望得到如下结果该如何写这个查询?问题分析我们从上面的问题中发现,省市区全部在同一列中,而他们的ParentID有某种联系。仔细看市一级的ParentID正好是省的ID,而区一级的ParentID正好是市的ID,这完全符合我们递归定义。示例代码根据我们上面的分析我们先写出递归部分WITH RECURSIVE CTE(id,name,parenti原创 2020-05-12 09:32:55 · 3899 阅读 · 0 评论 -
C# entotyframework6.0 codefirst连接postgresql(一)
1 安装配置下载Npgsql PostgreSQL Interaction插件并安装,在此选择安装4.0.9版本,推荐使用github(地址:https://github.com/npgsql/npgsql/releases)手动选择版本下载。一定需要使用这个版本否则会有问题,假如之前已经安装了,则先卸载2 安装Npgsql,安装4.09版本3 安装EntityFramework6.Npgsql 3.2.1.14 连接postgresql进行测试Tools>Connect to D原创 2020-05-11 12:13:21 · 522 阅读 · 0 评论 -
postgresql将数组变成行
有的时候需要把数组元素同表中的字段进行关系运算,首先得把array变为记录行SELECT "unnest"(array[1,2,3])结果:unnest123求数组交集:SELECT "unnest"(array[1,2,3]) INTERSECT SELECT "unnest"(array[3,4,5]) 结果:unnest3...转载 2020-05-07 08:57:30 · 1697 阅读 · 0 评论 -
C# Npoco postgresql
转载使用的前提:安装Npoco以及Npgsqlapp.config 进行如下设置<configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /> </startup> <s...转载 2020-04-30 13:08:25 · 659 阅读 · 0 评论 -
postgresql 自动创建分区表
PostgreSQL中通过继承,可以支持基本的表分区功能,比如按时间,每月创建一个表分区,数据记录到对应分区中。按照官方文档的操作,创建子表和index、修改trigger等工作都必须DBA定期去手动执行,不能实现自动化,非常不方便。尝试着通过在plpgsql代码中使用动态SQL, 将大表分区的运维操作实现自动化, 并且可以重用.假设某个表 tbl_partition 中有很多记录, 每一条记...转载 2020-04-29 08:38:23 · 5364 阅读 · 1 评论 -
postgresql 存储过程demo
传递数组,返回值CREATE OR REPLACE FUNCTION test(tt INTEGER[]) returns integer as $$ declare sqll text; cou INTEGER;BEGINsqll:='SELECT count(*) from (select UNNEST($1)) v'; execute sqll into cou u...原创 2020-04-07 08:29:52 · 363 阅读 · 0 评论 -
postgresql时间戳与时间的转换
日期转时间戳select EXTRACT(epoch FROM CAST( now() AS TIMESTAMP))时间戳转日期需要注意时区SELECT TO_TIMESTAMP(1579077961.4475)日期相关函数date()函数select date('2018-01-01 10:20:12')转换为2018-01-01to_date()函数select to_...原创 2020-01-15 16:02:50 · 14338 阅读 · 0 评论 -
postgresql unnest将array转换成多行
This function is used to expand an array to a set of rows.例如:select 'host-'||h from unnest(array['1','2']) as h输出:原创 2019-12-20 15:37:25 · 2365 阅读 · 0 评论 -
Postgresql插入数据,存在则更新
以Python为例INSERT INTO host_usage_live_data (host_id, host_name, sample_time, used_mem_mb, used_cpu_hz, cpu_capacity_hz, mem_capacity_byte) VALUES (%(id)s, %(name)s, %(time)s, %(mem)s, %(cpu)s, %(c...原创 2019-11-20 09:48:14 · 921 阅读 · 0 评论 -
pg 或者Oracle计算字段含有某个字符个数
创建测试表,添加测试数据1 PGcreate table pgtest as select ‘mm,lll,kkk’ as test2 oraclecreate table oracletest as select ‘mm,lll,kkk’ as test from dual计算元素个数(既逗号个数)select length(translate(test,’,’||test,’,...原创 2019-05-16 12:50:10 · 4264 阅读 · 0 评论 -
postgreSQL从已有表创建表
创建一个表结构一样的表create table b(like tablea including all)创建一个表结构一样,并插入已有的数据create table b as select * from tablea原创 2019-05-16 08:15:19 · 2671 阅读 · 0 评论 -
postgresql 存储过程返回表
with 的作用是生成一张临时表,在递归查询中应该都用到吧(with recursive t as(sql))原创 2019-05-15 10:35:14 · 5211 阅读 · 0 评论 -
postgresql 全文检索(to_tsvector)
like查询效率低下对于相对较大的表数据查询,使用 like 会降低查询速度,各位可以试一下(仅仅是优化,目前在学习缓存)如插入200万条数据create table test(id int4,name text)insert into test(id,name)select r ,r||’_tans’ from generate_series(1,2000000)rselect ...原创 2019-05-14 16:24:54 · 7385 阅读 · 0 评论