随笔分类 -  postgresql

摘要:场景:根据条件从数据库表中查询 『有』与『没有』,只有两种状态 方法1: SELECT count(*) FROM table WHERE a = 1 方法2: SELECT 1 FROM table WHERE a = 1 LIMIT 1 SQL不再使用count,而是改用LIMIT 1,让数据库 阅读全文
posted @ 2023-10-26 15:01 JackGIS 阅读(137) 评论(0) 推荐(0)
摘要:PostgreSQL中的临时表分两种,一种是会话级临时表,一种是事务级临时表。 在会话级临时表中,数据可以存在于整个会话的生命周期中, 在事务级临时表中,数据只能存在于事务的生命周期中。 不管是会话级还是事务级的临时表,当会话结束后,临时表会消失,这和Oracle数据库不同。Oracle数据库当会话 阅读全文
posted @ 2023-09-27 21:10 JackGIS 阅读(3621) 评论(0) 推荐(0)
摘要:INSERT 操作 INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...); 下面是一个示例: INSERT INTO employee (id, name, salary) VALUES (1, 'Jo 阅读全文
posted @ 2023-09-20 13:52 JackGIS 阅读(1531) 评论(0) 推荐(0)
摘要:一、官方概念说明 1、表空间(表空间位置不应该位于数据目录内) 性能优化:您可以将高I/O的表和索引放在高速磁盘上,而将不经常访问的表放在普通的磁盘上。 管理磁盘空间:当数据库存储空间不足时,可以通过表空间在其他磁盘上创建更多的存储空间。 如果没有上面2个诉求,可以使用默认表空间。 2、模式 官方推 阅读全文
posted @ 2023-08-24 23:24 JackGIS 阅读(3344) 评论(1) 推荐(1)
摘要:查询sql如下: SELECT a.attname AS field, t.typname AS type, CASE WHEN t.typlen = -1 THEN a.atttypmod - 4 ELSE t.typlen::integer END AS lengthvar, case a.at 阅读全文
posted @ 2023-01-03 21:29 JackGIS 阅读(917) 评论(0) 推荐(1)
摘要:大量update或者delete后 磁盘空间会猛增。原理是postgresql并没有真正的删除 只是将删除数据的状态置为已删除,该空间不能记录被从新使用。若是删除的记录位于表的末端,其所占用的空间将会被物理释放并归还操做系统。若是不是末端数据,该命令会将指定表或索引中被删除数据所占用空间从新置为可用 阅读全文
posted @ 2022-08-14 16:27 JackGIS 阅读(3520) 评论(0) 推荐(0)
摘要:建表语句如下: DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS; DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS; DROP TABLE IF EXISTS QRTZ_SCHEDULER_STATE; DROP TABLE 阅读全文
posted @ 2022-08-02 14:58 JackGIS 阅读(1212) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2021-07-08 11:36 JackGIS 阅读(462) 评论(0) 推荐(0)
摘要:一、分区表产生的背景 随着使用时间的增加,数据库中的数据量也不断增加,因此数据库查询越来越慢。 加速数据库的方法很多,如添加特定的索引,将日志目录换到单独的磁盘分区,调整数据库引擎的参数等。这些方法都能将数据库的查询性能提高到一定程度。 对于许多应用数据库来说,许多数据是历史数据并且随着时间的推移它 阅读全文
posted @ 2021-05-18 11:08 JackGIS 阅读(2878) 评论(0) 推荐(0)
摘要:1、索引优化 索引尽量建在数据比较分散的列上, 不要在变化很小的字段上加索引,比如性别之类的。 原因就是:索引本质上是一种空间换时间的操作,通过B Tree这种数据结构减少io的操作次数以此来提升速度。如果在变化很小的字段上建立索引,那么可能单个叶子节点上的数据量也是庞大的,反而增加了io的次数(如 阅读全文
posted @ 2021-05-17 22:22 JackGIS 阅读(1360) 评论(0) 推荐(0)
摘要:select max(datatime) as id from mytable 全表检索,时间慢执行时间5分钟 select max(datatime) as id from mytable where citycode=113 --利用索引查询113的记录,然后获取最新时间执行时间1秒 SELEC 阅读全文
posted @ 2021-05-17 21:33 JackGIS 阅读(808) 评论(0) 推荐(0)
摘要:(1)执行内容 delete from tablename每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。 truncate table tablename一次性地从表中删除所有的数据,并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过 阅读全文
posted @ 2021-05-17 21:24 JackGIS 阅读(418) 评论(0) 推荐(0)
摘要:一、错误案例 1、赋值错误: ERROR druid.sql.Statement:149 - {conn-10005, pstmt-20005} execute error. UPDATE sys_permission SET parent_id=? is_leaf=? internal_or_ex 阅读全文
posted @ 2021-04-02 16:34 JackGIS 阅读(12971) 评论(1) 推荐(1)
摘要:1、postgresql权限说明 SELECT INSERT UPDATE DELETE TRUNCATE REFERENCES TRIGGER CREATE CONNECT TEMPORARY EXECUTE USAGE GRANT privilege [, ...] ON object [, . 阅读全文
posted @ 2020-09-10 18:15 JackGIS 阅读(2898) 评论(0) 推荐(1)
摘要:1、审计清单说明 logging_collector --是否开启日志收集开关,默认off,推荐on log_destination --日志记录类型,默认是stderr,只记录错误输出,推荐csvlog,总共包含:stderr, csvlog, syslog, and eventlog, log_ 阅读全文
posted @ 2020-08-26 23:12 JackGIS 阅读(8348) 评论(0) 推荐(0)
摘要:--查询索引 select * from pg_indexes where tablename='tab1'; --创建索引(查询用到哪几列,就对哪几个字段创建索引) CREATE INDEX index_moni_gk_city_day ON moni_gk_city_day USING btre 阅读全文
posted @ 2020-07-23 18:07 JackGIS 阅读(7502) 评论(0) 推荐(1)
摘要:一、手动创建序列 1、表格id字段,设置主键(PRIMARY KEY),类型为int4 2、创建序列 CREATE SEQUENCE public.moni_wzhour_warn_id_seq INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 922337203685 阅读全文
posted @ 2020-05-08 10:35 JackGIS 阅读(1872) 评论(0) 推荐(0)
摘要:1、通过cmd进入数据库的bin目录 cd C:\Program Files\PostgreSQL\9.6\bin 2、普通备份和还原 备份 pg_dump -h host -p port -U username -d dbname >C:\dbname.bak 执行完后,会提醒输入口令,就是要输入 阅读全文
posted @ 2019-11-06 22:45 JackGIS 阅读(9221) 评论(0) 推荐(3)
摘要:postgresql数据库中,表名和字段名一般用小写。如果某个用了大写,请注意,要用双引号进行标识,否则数据库不会识别。 阅读全文
posted @ 2019-07-16 22:14 JackGIS 阅读(1619) 评论(0) 推荐(0)
摘要:1、定义数据拼接函数 CREATE OR REPLACE FUNCTION "public"."sfun"("results" _numeric, "val" numeric) RETURNS "pg_catalog"."_numeric" AS $BODY$ BEGIN results :=arr 阅读全文
posted @ 2019-07-10 18:17 JackGIS 阅读(764) 评论(0) 推荐(0)