PostgreSQL基础知识

  1. 登录PostgreSQL
  1. 登录postgres

sudo -u postgres psql

  1. 切换数据库

\c kong

  1. PostgreSQL命令

\c [database_name] :切换数据库

\c - [user_name] :切换用户

\l:列出所有数据库

\d:列出当前数据库的所有表

\d [table_name]:列出某一张表的结构

\du:列出所有用户

\conninfo:列出当前数据库和连接的信息

\h:查看SQL命令的解释,比如\h select

\?:查看psql命令列表

\e:打开文本编辑器

\q: 退出

  1. 查看PostgreSQL死锁

sudo ps -ef | grep postgres

 

说明:如果有很多wait的说明数据库死锁。

  1. postgreSql查看死锁及解决办法
  1. 查看数据库的进程

SELECT * FROM pg_stat_activity WHERE datname='死锁的数据库ID ';

检索出来的字段中,【wating 】字段,数据为t的那条,就是死锁的进程,找到对应的【procpid 】列的值。

例如:

SELECT  procpid  FROM pg_stat_activity WHERE datname='数据库ID' and waiting ='t';

  1. 杀掉进程, kill有两种方式:

第一种:

SELECT pg_cancel_backend(PID);
这种方式只能kill select查询,对update、delete 及DML不生效)

第二种:

SELECT pg_terminate_backend(PID);

这种可以kill掉各种操作(select、update、delete、drop等)操作

 

猜你喜欢

转载自blog.csdn.net/sa19861211/article/details/91574181