随笔分类 -  postgresql

postgresql
摘要:Store delete error org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [UPDATE kx_kq_cha 阅读全文
posted @ 2021-10-14 15:27 littlevigra 阅读(677) 评论(0) 推荐(0) 编辑
摘要:1. 复制一个表 SELECT vale1, value2 into Table2 from Table1 SELECT * into act_flowcategory_1011_init from act_flowcategory; 2. 复制一个库 pg_dump --dbname="postg 阅读全文
posted @ 2021-10-11 15:15 littlevigra 阅读(123) 评论(1) 推荐(0) 编辑
摘要:-1. 如何知道有哪些表、哪些进程被锁住了? select * from pg_locks a join pg_class b on a.relation = b.oid join pg_stat_activity c on a.pid = c.pid where a.mode like '%Exc 阅读全文
posted @ 2021-09-17 22:24 littlevigra 阅读(221) 评论(2) 推荐(0) 编辑
摘要:1. checkpoint_timeout:checkpoint定时执行的频率(默认为每5分钟) 2. max_wal_size:触发xlog检查点之前将累积的最大WAL量(默认为1 GB) 3. checkpoint_completion_target:检查点完成的速度(默认值为0.5,这意味着它 阅读全文
posted @ 2021-09-14 15:50 littlevigra 阅读(457) 评论(0) 推荐(0) 编辑
摘要:-1 .执行计划,For best results: EXPLAIN (ANALYZE, COSTS, VERBOSE, BUFFERS, FORMAT JSON) 0. 可视化执行计划 访问 https://explain.dalibo.com/ 网站 1. nested loop join: 对 阅读全文
posted @ 2021-09-13 12:01 littlevigra 阅读(158) 评论(0) 推荐(0) 编辑
摘要:1 查找锁表的pid select pid from pg_locks l join pg_class t on l.relation = t.oid where t.relkind = 'r' and t.relname = 'lockedtable'; 2 查找锁表的语句 select pid, 阅读全文
posted @ 2021-08-30 15:02 littlevigra 阅读(1209) 评论(2) 推荐(0) 编辑
摘要:1. 防范失控的复制槽 复制槽(物理复制槽)提供了一种便捷的方法来防止备库与主备不同步,它也是实现逻辑复制的基本组件。让wal不会被移除掉 2. 复制槽的工作原理: 主库PostgreSQL实例会一直保留预写日志(WAL)文件,直到所有备库所需的插槽都确认已接收到特定段为止。只有完成此操作后,主库实 阅读全文
posted @ 2021-08-30 14:58 littlevigra 阅读(2108) 评论(0) 推荐(1) 编辑
摘要:1 基础知识 重点: 如果您的数据库运行了很久,并且从来没有打开过autovacuum,那么请在打开autovacuum之前全库手动运行vacuum analyze(可能要非常久的时间) 完全禁用autovacuum,请不要这样做,除非你真的知道你在做什么,并且需要定期清理脚本.否则当问题发生时你将 阅读全文
posted @ 2021-08-25 14:53 littlevigra 阅读(617) 评论(2) 推荐(0) 编辑
摘要:1.备份 pg_dump -U postgres -h localhost -p 5432 -t fsrd_user -t fsrd_tenant -t fsrd_userrole -t fsrd_tenantuser -t fsrd_userproperty -t fsrd_tenantplugi 阅读全文
posted @ 2021-08-23 18:50 littlevigra 阅读(334) 评论(0) 推荐(0) 编辑
摘要:1. 最后被归档的wal日志 select * from pg_stat_get_archiver(); 2. 以一个例子开始,下面是我们的WAL 目录,我们看一下当前我们的日志写到了那个日志的文件 postgres=# select pg_walfile_name(pg_current_wal_l 阅读全文
posted @ 2021-08-18 10:06 littlevigra 阅读(191) 评论(0) 推荐(0) 编辑
摘要:查看实例的核心要素,如CPU、内存、连接数、IOPS和磁盘空间的使用率,以及查看最近5分钟内的连接、QPS、表扫描、索引扫描和临时文件状况图。 /usr/pgsql-10/bin/pg_ctl status -D /home/data/10/data/ /usr/pgsql-10/bin/pg_ct 阅读全文
posted @ 2021-08-17 11:19 littlevigra 阅读(432) 评论(0) 推荐(0) 编辑
摘要:1.. 只读账号授权 # 超级用户登录数据库 create user ro_user password 'readonly'; # 设置Postgres数据库为只读的transaction alter user ro_user set default_transaction_read_only=on 阅读全文
posted @ 2021-08-11 17:54 littlevigra 阅读(840) 评论(0) 推荐(0) 编辑
摘要:1.查下超过10 s的查询语句 select * From pg_stat_activity where query_start<=now()- interval'10 sec' and state not in ('idle') and pid<>pg_backend_pid() and quer 阅读全文
posted @ 2021-08-10 21:29 littlevigra 阅读(472) 评论(16) 推荐(0) 编辑
摘要:1. 查超10秒 汇总 sql SELECT datname, usename, query, COUNT (*)FROM pg_monitorWHERE ts >= '2021-08-07 14:00:00'AND ts <= '2021-08-07 14:30:00'AND query NOT 阅读全文
posted @ 2021-08-07 14:33 littlevigra 阅读(351) 评论(0) 推荐(0) 编辑
摘要:1. postgresql 新创建的库和表授权命令 */20 * * * * /usr/bin/psql -d tenant_1011046 -q -t -c "GRANT SELECT ON ALL TABLES IN SCHEMA public TO liujunfan;" */20 * * * 阅读全文
posted @ 2021-08-06 16:53 littlevigra 阅读(922) 评论(0) 推荐(0) 编辑
摘要:1. Postgresql通过数据多版本实现mvcc,删除数据并不会真正删除数据, 而是修改标识,更新是通过删除+插入的方式进行,所以在频繁更新的系统,数据膨胀是个头疼的问题,如果不进行处理,数据膨胀倍数可能达到十几倍。 2. repack的原理 原理其实和vacuum full是类似的,都是新建一 阅读全文
posted @ 2021-08-06 11:09 littlevigra 阅读(317) 评论(1) 推荐(0) 编辑
摘要:1. 通过执行计划我们将直观的确认SQL性能是否存在隐患,掌握执行计划这项技能就显得尤为重要。 2. SQL语句在数据库内部从取数据到返回结果集的一个完整过程,通过这个过程,我们可以看到SQL每一步的开销,进而判断SQL响应是否正常 3. 注意EXPLAIN默认不执行语句,只显示估算信息,EXPLA 阅读全文
posted @ 2021-08-06 09:40 littlevigra 阅读(80) 评论(1) 推荐(0) 编辑
摘要:1. 前言2 使用PG时经常有一类需求,某一个数据库的所有表都需要给某一个用户读权限,不管是已经创建的还是没有创建的。下面我们看下如何实现。 2 创建测试用户、数据库 只读用户read_user 读写用户update_user 测试库ptest create user update_user cre 阅读全文
posted @ 2021-08-04 22:52 littlevigra 阅读(1422) 评论(0) 推荐(0) 编辑
摘要:1. 运行pgadmin4: 拉取postgresql可视化工具pgadmin4:docker pull dpage/pgadmin4 docker run -d -p 5433:80 --name pgadmin4 -e PGADMIN_DEFAULT_EMAIL=test@123.com -e 阅读全文
posted @ 2021-08-04 16:19 littlevigra 阅读(786) 评论(0) 推荐(0) 编辑
摘要:1. data/base 存放各数据库实例对应文件夹,命名方式是数据库的OID,select oid,datname from pg_database;可以查询每个数据库的OID,对应的可以在base目录下找到这个数据库的文件夹。-- 进入到对应数据库目录: /home/data/base/1066 阅读全文
posted @ 2021-07-21 14:18 littlevigra 阅读(382) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示