当前位置:   article > 正文

postgres 常用指令_高斯数据库杀进程命令

高斯数据库杀进程命令

登录 

  1. --登录
  2. psql -h 主机 -p 端口 -U 用户 -d 数据库

授权

  1. grant select on my_schema.t to aa; -- my_schema.t .t 表名称
  2. grant all on clean_data to yy_odp;
  3. ALTER TABLE "public"."tyc_data_20211019_copy2" 
  4.   OWNER TO "yy_odp";

备份还原

  1. --还原
  2. pg_restore -h 决策易数据库地址 -p 5432 -U 数据库用户 -a -d 数据库 -t 表名称 备份文件路径
  3. pg_restore -h 192.168.6.214 -p 5432 -U postgres -a -d masterdata_clean
  4. --备份
  5. pg_dump -h 主机地址 -p 端口 -U 用户名 -d 数据库 -W -F c -b -v -t 表名称 -f e:\tt.dmp

导入导出

  1. --导出数据至csv
  2. \COPY (select roleprivileges.* from roleprivileges inner join TblUdtEntity on roleprivileges.entityid = TblUdtEntity.tbludtentityid where TblUdtEntity.entitytypecode in('dd_accountbase'))
  3. TO 'E:database\zz\data.csv' with csv;
  4. -- 替换 E:database\zz\data.csv 修改该路径
  5. --导入csv数据至数据库
  6. \COPY roleprivilegesbase FROM 'E:database\zz\data.csv' WITH csv;

 数据库链接

  1. -- 查看数据库连接使用情况
  2. select * from pg_stat_activity
  3. -- 杀死进程 (强度从弱到轻)
  4. select pg_cancel_backend(pid) -- 后台发送sigint信号,关闭当前后台进程,用户只能关闭自己的后台进程,事务回滚。
  5. select pg_terminate_backend(pid) --推荐 强杀,向后台发送sigterm信号,关闭当前后台进程,需要有超级用户权限,超级用户可以关闭所有后台进程,事务回滚。
  6. select kill -9 (pid) --不推荐 操作系统层面,暴力杀死进程 如果是kill一个很大的update,需要很长的时间做回滚,回滚过程中数据库不可用。
  7. set statement_timeout to 30000; -- 30000 单位 毫秒 -- 超时设置
  8. select count(1) from pg_stat_activity; -- 当前总共正在使用的连接数
  9. show max_connections; --显示系统允许的最大连接数
  10. show superuser_reserved_connections ; --显示系统保留的用户数
  11. select usename, count(*) from pg_stat_activity group by usename order by count(*) desc; --按照用户分组查看
  12. alter system set max_connections= 数量 --修改最大连接数
  13. https://blog.51cto.com/geekbin/1398671 --postgresql修改配置生效方法

结束闲置数据库链接 

  1. select * from pg_stat_activity where state = 'idle';
  2. --select pg_terminate_backend(pid);
  3. -- 释放空链接
  4. SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE state='idle';

数据库扩展

  1. -- 查看数据库扩展
  2. select * from pg_extension;
  3. -- 创建 gin 索引扩展
  4. CREATE EXTENSION pg_bigm;
  5. -- 创建 gin 索引 (主要用于扩展模糊搜索)
  6. CREATE INDEX odp_accountbase_name_bigm_idx ON public.odp_accountbase USING gin (name gin_bigm_ops);

 查看表索引情况

select * from pg_indexes where tablename = 'tyc_data_cleanbase';

 备份表

SELECT * INTO doctor20220107 FROM doctor;

 查看锁表情况

  1. select
  2. b.relname,
  3. a.pid,
  4. a.locktype,
  5. a.database,
  6. a.mode,
  7. a.relation
  8. from pg_locks a
  9. join pg_class b on a.relation = b.oid
  10. where b.relname = '表名';
  11. --杀死进程释放锁
  12. select pg_cancel_backend(pid); -- pid 就是上面查询到的 pid 列

 查看清理情况

  1. SELECT
  2. relname ,--表名
  3. seq_scan ,--全表扫描次数
  4. seq_tup_read ,--全表扫描记录数
  5. idx_scan ,--索引扫描次数
  6. idx_tup_fetch ,--索引扫描记录数
  7. n_tup_ins ,--插入的条数
  8. n_tup_upd ,--更新的条数
  9. n_tup_del ,--删除的条数
  10. n_tup_hot_upd ,--热更新条数
  11. n_live_tup ,--活动元组估计数
  12. n_dead_tup ,--死亡元组估计数
  13. last_vacuum ,--最后一次手动清理时间
  14. last_autovacuum ,--最后一次自动清理时间
  15. last_analyze ,--最后一次手动分析时间
  16. last_autoanalyze ,--最后一次自动分析时间
  17. vacuum_count ,--手动清理的次数
  18. autovacuum_count ,--自动清理的次数
  19. analyze_count ,--手动分析此表的次数
  20. autoanalyze_count ,--自动分析此表的次数
  21. ( CASE WHEN n_live_tup > 0 THEN n_dead_tup :: float8 / n_live_tup :: float8 ELSE 0 END ) :: NUMERIC ( 12, 2 ) AS "死/活元组的比例"
  22. FROM
  23. pg_stat_all_tables
  24. WHERE
  25. schemaname = 'public' and relname ='odp_doctorbase'
  26. ORDER BY n_dead_tup::float8 DESC;
  27. VACUUM FULL VERBOSE odp_doctorbase;
  28. VACUUM FULL VERBOSE ANALYZE odp_doctorbase;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/981927
推荐阅读
相关标签
  

闽ICP备14008679号