![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
postgresql
爱人间
软件工程师,专注于Java后端开发,对微服务架构和云计算有深入研究。在多个大型项目中担任核心开发者,成功实施过高并发、高可用系统的设计与优化。热爱编程,乐于分享,活跃于技术社区。除了java还掌握python和AI技术。期待与更多的同行交流学习,共同进步。
展开
-
postgresql如何取得行号
SELECT t.*, ROW_NUMBER() OVER() as rownum from test t原创 2022-03-16 10:38:34 · 1922 阅读 · 0 评论 -
pg备份和还原
一、备份1、cmd到PostgreSQL安装目录bin下2、备份命令pg_dump -h 192.168.100.23 -U postgres postgres > D:\postgres.bak3、指令解释如上命令,pg_dump 是备份数据库指令;10.194.227.231是数据库的ip地址;postgres 是数据库的用户名;postgres 是数据库名;> 意思是导出到指定目录;二、还原1、恢复命令psql -h localhost -U原创 2022-03-09 18:23:00 · 1071 阅读 · 0 评论 -
postgresql数据库数据小于1,显示出来0的解决方案
你只要把类型转换一下就可以data/100::numeric,如下原创 2022-02-10 09:06:48 · 1608 阅读 · 0 评论 -
postgresql行号类似oracle rownum效果
使用窗口函数row_number()select row_number() OVER (ORDER BY id) as rownum ,* from score;如果不关心排序,可以这样select row_number() over() as rownum,* from score;————————————————版权声明:本文为CSDN博主「tanweii163」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn转载 2022-01-24 14:57:29 · 2649 阅读 · 0 评论 -
pg数据库获取前几条记录
select id , date_id , namefrom (select * , row_number() over(partition by date_id order by id ) as row_id from dddd ) as twhere t.row_id <= 2 ;row_number() over(partition by date_id order by id )原创 2022-01-21 17:45:41 · 5776 阅读 · 0 评论 -
Postgresql 类似oracle的NVL方法
oracle 的NVL(col,0)是判断如果col字段为空的时候赋值0。postgresql里也有类似的方法COALESCE,COALESCE函数是返回参数中的第一个非null的值,它要求参数中至少有一个是非null的,如果参数都是null会报错,如下SELECT coalesce(collect_result,0) as collect_result FROM collectselect COALESCE(null,null); //报错select COALESCE(null,n原创 2022-01-21 09:03:10 · 12282 阅读 · 0 评论 -
PostgreSQL的generate_series函数应用产生一系列的填充数据。
PostgreSQL的generate_series函数应用产生一系列的填充数据。可以生成连续几年的年份,月份列表等转载 2022-01-18 14:56:52 · 741 阅读 · 0 评论 -
postgresql 实现查询某时间区间的所有日期案例代替Oracle中的connect by
postgresql数据库替换oracle中的connect by查询时间段范围内的时间列表原创 2022-01-17 17:52:51 · 810 阅读 · 0 评论 -
mybatis调用postgresql带参数存储过程的说明
之前我创建了一个带有多个类型参数的存储过程,发现通过mybatis调用没有成功,后来改为都是varchar类型的成功了,不知道怎么回事mybatis中调用:数据库存储过程:结果报错如下:具体原因不知道,猜测是类型转换的事情,但是不知道怎么修改,有知道的可以给我留言感谢。后来我就都改为了varchar类型的参数,数据库和mybatis调用都是varchar的,并且mybatis调用还要加上返回类型否则报错需要指定返回类型,如下:...原创 2022-01-13 16:49:33 · 1298 阅读 · 0 评论 -
postgresql表名转小写,字段转小写
postgresql数据库表名转小写,字段转小写原创 2022-01-12 17:48:05 · 1545 阅读 · 0 评论 -
windows下postgresql数据库数据目录修改,data目录迁移
1、新建数据库数据目录(注意目录权限)2、打开服务,停止postgresql数据库服务3、运行cmd,输入regedit打开注册表,修改 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\postgresql-x64-9.1\ImagePath",将“-D”后的目录名修改为新的数据目录位置即可,如果目录路径中含有空格,需要用引号引起。4、重启电脑,重启服务,尝试重新连接登入。...原创 2022-01-05 11:08:54 · 3173 阅读 · 0 评论 -
postgresql默认不区分大小写
postgresql默认不区分大小写,如果想将查询的结果字段取名为大写或者大小写混合,那么别名需要加上双引号,如下select aa as "Aa"原创 2021-08-16 09:50:17 · 1511 阅读 · 0 评论 -
postgresql中日期本月、本周、本季度、昨天、近几个月等
一、本月第一天在报表抽取时,常常需要获取本月第一天。然后作为报表抽取的查询条件。第一天常常有两种格式,一种是日期,另外一种是时间戳。-- 本月。如2019-02SELECT to_char(now(),'YYYY-MM')-- 本月第一天,日期格式 。 例如 2019-02-01SELECT to_char(now(),'YYYY-MM-01')-- 本月第一天。时间戳格式。 例如 2019-02-01 00:00:00SELECT to_char(now(),'YYYY-MM-01 0转载 2021-07-07 15:45:02 · 18165 阅读 · 0 评论 -
postgresql循环遍历的使用
do $$declarea integer := 1;begin while a < 10 loop--循环体内容....--变量改变+1 a= a+1; end loop;end $$;原创 2021-01-28 14:28:16 · 3207 阅读 · 0 评论 -
postgresql计算时间差
日期之差 --**获取秒差**SELECT round(date_part('epoch', TIMESTAMP '2019-05-05 12:11:20' - TIMESTAMP '2019-05-05 10:10:10')); --**获取分钟差**SELECT round(date_part('epoch', TIMESTAMP '2019-05-05 12:11:20' -...原创 2020-03-31 15:18:02 · 10154 阅读 · 2 评论 -
postgresql中sql查询语句报错处理——ERROR: failed to find conversion function from unknown to text
执行复杂查询遇到ERROR: failed to find conversion function from unknown to text 。后来通过查资料,原来我里面用到别名了,别名直接用的话会报上述错误。 所以需要加 ::text 转换成文本类型 ::int 转换成int类型...原创 2018-11-28 11:03:05 · 11194 阅读 · 1 评论 -
Postgresql数据库数据简单的导入导出
通过cmd切换到postgresql的安装目录的bin下,例如:C:\Program Files\PostgreSQL\9.6\bin,然后执行下面的命令命令操作: 导入整个数据库psql -U postgres(用户名) 数据库名(缺省时同用户名) 导出整个数据库pg_dump -h localhost -U postgres(用户原创 2017-08-15 17:33:06 · 1235 阅读 · 0 评论 -
Postgresql中新建表的时候,如何使用主键使用序列(sequence)的值进行自增长
我们知道,一般的数据库中都有序列,可以使用它对主键进行自增长,hbm框架都是如此(比如,hibernate)。那么,在不使用hbm框架的情况下,如何使主键进行自增长呢。其实,很简单,只需要在建表的时候给主键加一个默认值即可,下面以postgresql数据库为例,给出一个简单的说明(其他数据库的语法也许跟这个不一样):[SQL] view plain copy转载 2017-09-07 16:44:13 · 1005 阅读 · 0 评论 -
postgreSQL存储过程写法示例
转自:http://bianbian.org/52/用plpgsql写postgresql的存储过程/今天学会了用 PL/pgSQL 写 postgreSQL 的存储过程,网上资料实在少得可怜,唯一能搜到的一些还是抄来抄去的;还是翻postgresql的文档吧,把今天解决的问题说一下吧,希望对其他人有帮助。问题是这样的,有一张message表:CREATE TABLE messag转载 2017-09-07 16:45:27 · 9049 阅读 · 0 评论 -
postgreSQL存储过程写法示例
转载自:http://panyongzheng.iteye.com/blog/2194815PostgreSQL的存储过程简单入门 http://blog.csdn.net/rachel_luo/article/details/8073458 存储过程事物 http://www.php100.com/manual/PostgreSQL8/tutorial-transactions.html转载 2017-09-07 16:47:25 · 9272 阅读 · 1 评论 -
浅谈 PostgreSQL 的 timestamp 类型
转载自:http://blog.csdn.net/menghuannvxia/article/details/77883743一 PostgreSQL 中的时间类型如下Name Storage Size Description L转载 2017-09-07 17:09:39 · 6055 阅读 · 0 评论 -
PostgreSQL的存储过程简单入门
转载自:http://blog.sina.com.cn/s/blog_6137d9b70102v5qd.htmlPostgreSQL 存储过程定义格式如下:■结构 PL/pgSQL是一种块结构的语言,比较方便的是用pgAdmin III新建Function,填入一些参数就可以了。基本上是这样的:CREATE OR REPLACE FUNCTION 函数名(参数1,[整型 int4, 整型数组转载 2017-09-07 17:32:59 · 7569 阅读 · 0 评论 -
postgresql 数据库时间间隔数据查询
当前时间向前推一天:SELECT current_timestamp - interval '1 day'当前时间向前推一个月:SELECT current_timestamp - interval '1 month'当前时间向前推一年:SELECT current_timestamp - interval '1 year'当前时间向前推一小时:SELECT current_timestamp -原创 2017-09-07 17:34:35 · 8854 阅读 · 1 评论 -
postgresql实现跨数据库查询,采用dblink的形式
select * from dblink('host=1.1.1.1 dbname=test user=a password=a','select * from m') as t(id int,name varchar)host:要查询的表所在数据库所在的服务器IP,dbname:数据库名字,user:用户名,password:密码select * from m查询的表查询的字原创 2017-11-13 15:16:25 · 15620 阅读 · 4 评论 -
postgresql中获取两个时间类型小时差值
select extract(day from t) * 24 + extract(hour from t) from (select (timestamp '2013-12-14 12:00:00' - timestamp '2013-12-11 4:00:00') as t) as a;例如a表中有start,end俩字段select extract(day from (end-原创 2017-12-12 15:02:45 · 11488 阅读 · 0 评论 -
PowerDesigner连postgresql数据源报_sqlstate=im014
postgresql安装驱动如果是64位的,而咱的powerdesigner是32位的如果选择64位安装后,在加载数据源的过程中会报异常信息: [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application SQLSTA...原创 2018-09-25 14:32:32 · 1540 阅读 · 0 评论 -
postgresql 按日期范围查询
目录 一、按日期范围查询二、查询近几天的数据一、按日期范围查询方法一:select * from user_info where create_date >= '2015-07-01' and create_date < '2015-08-15';方法二:为啥字符串可以按日期格式比较大小select * from user_info where crea...转载 2018-09-28 17:28:26 · 14094 阅读 · 0 评论 -
PostgreSQL中使用动态SQL-实现自动按时间创建表分区
PostgreSQL中通过继承,可以支持基本的表分区功能,比如按时间,每月创建一个表分区,数据记录到对应分区中。按照官方文档的操作,创建子表和index、修改trigger等工作都必须DBA定期去手动执行,不能实现自动化,非常不方便。尝试着通过在plpgsql代码中使用动态SQL, 将大表分区的运维操作实现自动化, 并且可以重用. 假设某个表 tbl_partition 中有很多记录, ...转载 2018-11-09 14:05:58 · 6221 阅读 · 1 评论 -
postgresql中将数字转换为字符串前面会多出一个空格
postgresql中将数字转换为字符串前面莫名期末的多出一个空格,例如:前面加上fm就可以去掉空格了,如下原创 2017-07-27 13:46:58 · 3423 阅读 · 0 评论