
postgresql
会飞的尼古拉斯
没有个性,但比较尿性
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
pgsql修改分区表的分区
首相说明,创建了分区表后,区间就不可更改了,所以常规流程是这样的,先将分区表的数据往备份表插入一份,然后detach掉原有的分区,然后创建新的分区,然后插入数据到主表。现在我想把1999的数据放一张表,2018的数据放一张表。原创 2025-07-14 09:58:37 · 113 阅读 · 0 评论 -
postgresql 添加pgvector 向量扩展
postgresql向量扩展原创 2025-02-07 14:20:56 · 532 阅读 · 0 评论 -
postgresql group by之后对string字段进行拼接
【代码】postgresql group by之后对string字段进行拼接。原创 2023-10-24 10:36:24 · 1708 阅读 · 0 评论 -
关于postgresql中with 临时表的使用,筛选出来当天温度比昨天温度高的数据
with临时表原创 2023-06-08 09:45:42 · 342 阅读 · 0 评论 -
python psycopg2 server side cursors,服务端评估,遍历海量数据,提高性能
psycopg2 服务端游标,遍历大量数据原创 2022-10-13 17:00:08 · 608 阅读 · 0 评论 -
pgsql 重置自增id起始值
重置自增序列原创 2022-09-14 16:35:38 · 4554 阅读 · 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 · 1975 阅读 · 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 · 933 阅读 · 0 评论 -
postgresql interval 转换成秒
SELECT EXTRACT(epoch FROM my_interval)/3600原创 2021-05-19 10:34:07 · 1692 阅读 · 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 · 5383 阅读 · 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 · 15088 阅读 · 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 · 3045 阅读 · 0 评论 -
postgresql 获取任何一个月的最后一天
select date_trunc('month', now()::date) + interval '1 month' - interval '1 day';原创 2021-03-05 16:13:08 · 11012 阅读 · 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 · 8523 阅读 · 2 评论 -
不同类型数据库连接字符串
https://www.connectionstrings.com/转载 2020-09-16 10:58:44 · 261 阅读 · 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 · 3313 阅读 · 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 · 705 阅读 · 0 评论 -
postgresql 递归查询,查询父子节点关联关系
递归递归是指程序调用自身的一种编程技巧,在SQL中也有递归查询。下面我们通过一个省市区的示例来讲解递归查询的用法。问题有如下一张表City,希望得到如下结果该如何写这个查询?问题分析我们从上面的问题中发现,省市区全部在同一列中,而他们的ParentID有某种联系。仔细看市一级的ParentID正好是省的ID,而区一级的ParentID正好是市的ID,这完全符合我们递归定义。示例代码根据我们上面的分析我们先写出递归部分WITH RECURSIVE CTE(id,name,parenti原创 2020-05-12 09:32:55 · 4137 阅读 · 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 · 595 阅读 · 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 · 1770 阅读 · 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 · 739 阅读 · 0 评论 -
postgresql 自动创建分区表
PostgreSQL中通过继承,可以支持基本的表分区功能,比如按时间,每月创建一个表分区,数据记录到对应分区中。按照官方文档的操作,创建子表和index、修改trigger等工作都必须DBA定期去手动执行,不能实现自动化,非常不方便。尝试着通过在plpgsql代码中使用动态SQL, 将大表分区的运维操作实现自动化, 并且可以重用.假设某个表 tbl_partition 中有很多记录, 每一条记...转载 2020-04-29 08:38:23 · 5559 阅读 · 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 · 426 阅读 · 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 · 14749 阅读 · 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 · 2573 阅读 · 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 · 1021 阅读 · 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 · 4439 阅读 · 0 评论 -
postgreSQL从已有表创建表
创建一个表结构一样的表create table b(like tablea including all)创建一个表结构一样,并插入已有的数据create table b as select * from tablea原创 2019-05-16 08:15:19 · 2942 阅读 · 0 评论 -
postgresql 存储过程返回表
with 的作用是生成一张临时表,在递归查询中应该都用到吧(with recursive t as(sql))原创 2019-05-15 10:35:14 · 5481 阅读 · 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 · 8043 阅读 · 0 评论