【Postgres】Postgres常用命令

文章目录

  • 1、导出数据库某张表
  • 2、导入某张表到数据库
  • 3、查看数据库占用磁盘页数情况
  • 4、查看数据库大小
  • 5、查看数据表大小
  • 6、查看索引大小
  • 7、对数据库中表索引按照大小排序
  • 8、对数据库中表按照大小排序
  • 9、回收空间(建议先回收指定表)
  • 10、设置主键自增序列最大值(解决insert时主键冲突)
  • 11、创建索引
  • 12、postgresql开启慢查询日志
  • 13、查看当前正在执行的sql任务
  • 14、查询pg当前连接数
  • 15、查询pg最大连接数
  • 16、导出导入数据库
  • 17、vacuum和vacuum full区别
  • 18、只导出某张表的insert语句
  • 19查询阻塞进程SQL语句

1、导出数据库某张表

pg_dump -t [表名] -f [导出文件名.sql] [数据库]
只导出insert语句:pg_dump --table=[表名] --data-only --column-inserts [数据库] > [导出文件.sql]

2、导入某张表到数据库

psql -d [数据库] -f [导入文件名.sql]

3、查看数据库占用磁盘页数情况

select a.relpages, a.reltuples, a.relfilenode,a.reltype,b.typname from pg_class a, pg_type b where a.relname like ‘[数据表]’ and a.reltype=b.oid;
–查看数据库表的磁盘文件路径

select pg_relation_filepath(‘t_company_risk’);

4、查看数据库大小

select pg_size_pretty(pg_database_size(‘[数据库]’));

5、查看数据表大小

select pg_size_pretty(pg_table_size(‘t_company_risk’));

6、查看索引大小

select pg_size_pretty(pg_relation_size(‘t_company_risk_pkey’));
select * from pg_indexes where tablename=‘t_company_risk’; – 查看表的索引

7、对数据库中表索引按照大小排序

select indexrelname, pg_size_pretty(pg_relation_size(indexrelid)) from pg_stat_user_indexes where schemaname=‘public’ order by pg_relation_size(relid) desc;

8、对数据库中表按照大小排序

select relname, pg_size_pretty(pg_relation_size(relid)) from pg_stat_user_tables where schemaname=‘public’ order by pg_relation_size(relid) desc;

9、回收空间(建议先回收指定表)

vacuum full t_company_risk; – 回收指定表

10、设置主键自增序列最大值(解决insert时主键冲突)

select setval(‘t_report_component_id_seq’,(select max(id) from t_report_component));

11、创建索引

CREATE INDEX ix_t_company_risk_company_id on t_company_risk(company_id);
CREATE UNIQUE INDEX t_company_risk_pkey ON t_company_risk USING btree (insert_key);–主键索引

12、postgresql开启慢查询日志

1)修改配置文件postgres.conf
vim /data10/pgdata/postgresql.conf
在这里插入图片描述
2)加载配置

select pg_reload_conf();
在这里插入图片描述
确定是否修改
加粗样式
3)查看log

tail -f /data10/pgdata/pg_log/ postgresql-*.log

在这里插入图片描述

13、查看当前正在执行的sql任务

select * from pg_stat_activity;

select pid,application_name,client_addr,query_start,waiting,state,query from pg_stat_activity;

14、查询pg当前连接数

select count(1) from pg_stat_activity;

15、查询pg最大连接数

show max_connections;

16、导出导入数据库

su - postgres

#导出数据库

pg_dump [数据库名]> [导出文件名.sql]

#创建数据库
psql

create database [新数据库名];

#导入数据库

\q
psql -d [新数据库名] -f [导出文件名.sql];

17、vacuum和vacuum full区别

1)vacuum full会lock table ,vacuum不会。

2)vacuum只是将deadtuple的行的空间转换为能够使用的状态,额外空间一般不会返回给os(除非文件末尾有大量的连续空闲空间)。vacuum full会将这些空间碎片后面的数据上移,将数据写入一个新的磁盘文件中。

18、只导出某张表的insert语句

su - postgres

pg_dump --table=t_cascade_lower_info --data-only --column-inserts situation > t_cascade_lower_info20200818.sql

19查询阻塞进程SQL语句

SELECT blocked_locks.pid     AS blocked_pid,blocked_activity.usename  AS blocked_user,blocking_locks.pid     AS blocking_pid,blocking_activity.usename AS blocking_user,blocked_activity.query    AS blocked_statement,blocking_activity.query   AS current_statement_in_blocking_processFROM  pg_catalog.pg_locks         blocked_locksJOIN pg_catalog.pg_stat_activity blocked_activity  ON blocked_activity.pid = blocked_locks.pidJOIN pg_catalog.pg_locks         blocking_locksON blocking_locks.locktype = blocked_locks.locktypeAND blocking_locks.database IS NOT DISTINCT FROM blocked_locks.databaseAND blocking_locks.relation IS NOT DISTINCT FROM blocked_locks.relationAND blocking_locks.page IS NOT DISTINCT FROM blocked_locks.pageAND blocking_locks.tuple IS NOT DISTINCT FROM blocked_locks.tupleAND blocking_locks.virtualxid IS NOT DISTINCT FROM blocked_locks.virtualxidAND blocking_locks.transactionid IS NOT DISTINCT FROM blocked_locks.transactionidAND blocking_locks.classid IS NOT DISTINCT FROM blocked_locks.classidAND blocking_locks.objid IS NOT DISTINCT FROM blocked_locks.objidAND blocking_locks.objsubid IS NOT DISTINCT FROM blocked_locks.objsubidAND blocking_locks.pid != blocked_locks.pidJOIN pg_catalog.pg_stat_activity blocking_activity ON blocking_activity.pid = blocking_locks.pidWHERE NOT blocked_locks.granted;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/154812.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实战之巧用header头

案例: 遇到过三次 一次是更改accept,获取到tomcat的绝对路径,结合其他漏洞获取到shell。 一次是更改accept,越权获取到管理员的MD5加密,最后接管超管权限。 一次是更改accept,结合参数获取到key。 这里以越…

【java】【MyBatisPlus】【三】【完】MyBatisPlus扩展

目录 一、分页查询lambdaQueryWrapper 二、自定义分页查询 1、UserMapper 2、UserMapper.xml 3、测试方法 三、MybatisX插件 1、安装 2、MybatisX代码快速生成 2.1 连接数据库 2.2 操作需要生成代码的表 3、MybatisX快速生成CRUD(前提步骤2生成&#xff…

如何在Instagram和kol展开合作

网红营销已经演变成一个由品牌、MCN机构、红人和消费者组成的复杂生态系统,并在某种程度上重新定义了当今社交媒体时代营销和广告的本质。在这个情况下,品牌找红人进行营销推广已经成为大势,而最能体现网红营销发展的莫过于Instagram这个平台…

如何快速搭建springboot+前后端分离(vue),客户端实现微信小程序+ios+app使用uniapp(一处编写,处处编译)

kxmall 针对中小商户、企业和个人学习者开发。使用Java编码,采用SpringBoot、Mybatis-Plus等易用框架,适合个人学习研究。同时支持单机部署、集群部署,用户与店铺范围动态定位,中小商户企业可根据业务动态扩容。kxmall使用uniapp前…

「永不失联」产品创新与升级系列发布,预约直播“即将发车”

数字化浪潮下,北斗时空智能正成为我国重要的新型基础设施。 通过将卫星定位精度提升至厘米级乃至毫米级,时空智能满足了数字化时代智能驾驶、共享出行、智慧城市等多种智能终端对时空信息的爆发式增长需求,同步印证着测绘地理信息领域的技术应…

Linux学习第27天:Platform设备驱动开发(一): 专注与分散

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 专注与分散是我在题目中着重说明的一个内容。这是今天我们要学习分离与分层概念的延伸。专注是说我们要专注某层驱动的开发,而对于其他层则是芯片厂商…

强大易于编辑的流程图组织图绘制工具draw.io Mac苹果中文版

draw.io可以绘制多种类型的图表,包括但不限于流程图、组织结构图、网络图、UML图、电气工程图等。draw.io提供了丰富的图形元素和编辑功能,使用户能够轻松地创建和编辑各种复杂的图表。同时,该软件还支持多种导出格式,方便用户在不…

岩土工程监测利器:多通道振弦数据记录仪应用铁路隧道监测

岩土工程监测利器:多通道振弦数据记录仪应用铁路隧道监测 岩土工程监测是工程建设中十分重要的一环,特别是在铁路隧道工程中,岩土工程监测更是不可或缺的一项。其中,振弦数据记录仪是一种非常重要的仪器,可以帮助监测…

python设计模式笔记1:创建型模式 工厂模式和抽象工厂模式

1.工厂模式 (1) 导入所需的模块( json 和 ElementTree )。 (2) 定义 JSON数据提取器类( JSONDataExtractor )。 (3) 定义 XML数据提取器类( XMLDataExtractor )。 (4) 添加工厂函数 dataextraction_factor…

【Docker 内核详解】cgroups 资源限制(二):组织结构与基本规则、子系统简介

cgroups 资源限制(二):组织结构与基本规则、子系统简介 1.组织结构与基本规则2.子系统简介 1.组织结构与基本规则 在之前的博客已经介绍过,传统的 Unix 任务管理,实际上是先启动 init 任务作为根节点,再由…

基于RFID技术的智能医疗柜管理系统解决方案

一、行业背景 当前,医疗机构面临着药物过期、召回、空货架、放错产品和库存缺失等问题,这些问题导致医院项目效率低下,患者护理不足,医护人员备受困扰。为了应对全球医疗体系面临的压力,医疗保健机构急需寻找新技术来…

Xubuntu16.04系统中create_ap开启5G网络的踩坑记录

Xubuntu16.04系统中安装create_ap创建无线AP: https://blog.csdn.net/qq_45445740/article/details/133972642?spm1001.2014.3001.5501 目录 1.create_ap.conf 配置文件解析2.关于信号强度和延时2.1 信号强度2.2 信号延时2.3 网络延时测试工具推荐——PingPlotter …