pgsql 如何删除仍有活动链接的数据库

删除数据库的命令:

drop database if exists testdb;

但是这个命令可能会报错:

类似于:

database "xxx" is being accessed by other users.
DETAIL: There is x other session using database.

如:

表示要删除的数据库上还有其他活动链接。

解决方法:

断开该数据库上所有链接。

sql:

select pg_terminate_backend(pid) from pg_stat_activity where datname='{0}';

其中:

pg_terminate_backend用来终止与数据库的连接的进程id的函数。

pg_stat_activity是一个系统表,用于存储服务进程的属性和状态。

补充:解决postgresql 数据库因存在连接删除不成功的问题

postgresql 数据库因存在连接删除不成功问题

#psql -d dbname

#SELECT * FROM pg_stat_activity;

找到要删除数据库的连接pid

kill -9 pid

重新删除db

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • pgsql添加自增序列、设置表某个字段自增操作

    添加自增序列 CREATE SEQUENCE 表名_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; 设置表某个字段自增 alter table表名 alter column id set default nextval('表名_id_seq'); 从当前最大id依次递增 select setval('表名_id_seq',(select max(id) from 同一个表名)); 大写字符的表需要加双引号.例

  • pgsql的UUID生成函数实例

    – pgsql – 安装函数 – UUID生成函数: pgsql默认安装是没有该类函数的,若脚本执行到此处出错,需打开下面注释,安装UUID生成函数 create extension "uuid-ossp" ; – 使用函数 select uuid_generate_v4(); select replace(cast(uuid_generate_v4() as VARCHAR), '-', ''); select translate(cast(uuid_generate_v4() as

  • pgsql 如何手动触发归档

    方法: pg10.0之前: select pg_switch_xlog(); pg10.0之后: select pg_switch_wal(); 备注:执行 pg_switch_xlog() 后,WAL 会切换到新的日志,这时会将老的 WAL日志归档. 除了手动触发归档,还有什么情况下,pg会进行归档? 两种情况: ①WAL 日志写满后触发归档. wal日志被写满后会触发归档,wal日志默认是16MB,这个值可以在编译PostgreSQL时通过参数"--with-wal-segsize"

  • pgsql批量修改sequences的start方式

    修改为指定值 DO $$DECLARE r record; BEGIN FOR r IN SELECT sequence_name FROM information_schema."sequences" LOOP EXECUTE 'ALTER SEQUENCE '|| r.sequence_name ||' restart WITH 10000'; END LOOP; END$$; 根据表的id修改 DO $$ DECLARE r record; start_value integer

  • PGSQL 实现把字符串转换成double类型(to_number())

    今天写sql的时候,发现PG里有一张表的面积字段竟然设置成字符串类型,这样就不能统计使用sum函数了,所以需要将字符串转换成double类型再相加. select sum(to_number(mj,9999.99)) as amountmj from table group by area 其中9999.99就是不管是mj字段的值还是amountmj的值不能超过9999.99,且保留两位小数. 补充:postgresql科学计数法转浮点或字符串 科学计数法转浮点 select '2.93985E

  • pgsql之pg_stat_replication的使用详解

    pg_stat_replication是一个视图,主要用于监控一个基于流的设置,建议您 注意系统上称作pg_stat_replication的视图.(注:当前版本为pg 10.0,10.0以下版本,字段名会有差异)此视图包含以下信息: \d pg_stat_replication 每个字段代码的含义: • pid 这代表负责流连接的wal_sender进程的进程ID.如果您在您的操作系统上检查您进程表,您应该会找到一个带有那个号码的PostgreSQL进程. • usesysid 每个内部用户都

  • pgsql锁表后kill进程的操作

    如下: select * from pg_stat_activity 查询系统中的进程 如果怀疑哪张表被锁了,可以执行如下sql: select oid from pg_class where relname='table_name' 然后将拿到的oid 放入如下sql执行: select pg_cancel_backend('oid '):: 搞定! 此sql是kill作用 补充:PostgreSQL - 如何杀死被锁死的进程 前言 在一次系统迭代后用户投诉说无法成功登陆系统,经过测试重现和日

  • pgsql 实现用户自定义表结构信息获取

    1. 获取表中普通信息:如字段名,字段类型等 SELECT column_name, data_type, ordinal_position, is_nullable FROM information_schema."columns" WHERE "table_name"='TABLE-NAME' -- 将 'TABLE-NAME' 换成自己的表 2.获取所有的表和视图 SELECT table_name, table_type FROM INFORMATION_S

  • PGSQL实现判断一个空值字段,并将NULL值修改为其它值

    在使用pgsql时,想要取到某些字段不为空或者为空的数据,可以用以下方法: 1.不为空 Select * From table Where id<>'' Select * From table Where id!='' 2.为空 Select * From table Where id='' Select * From table Where ISNULL(id) 如果字段是类型是字符串,用 id=''可以;如果是int型则用 ISNULL 如果需要将空值设置为其它值: select COAL

  • pgsql 如何删除仍有活动链接的数据库

    删除数据库的命令: drop database if exists testdb; 但是这个命令可能会报错: 类似于: database "xxx" is being accessed by other users. DETAIL: There is x other session using database. 如: 表示要删除的数据库上还有其他活动链接. 解决方法: 断开该数据库上所有链接. sql: select pg_terminate_backend(pid) from pg

  • PHP实现删除非站内外部链接实例代码

    一般在做网站系统的时候,出于优化等因素的考虑需要再添加文章的时候删除掉不是本站的链接,对于这一要求可以通过让PHP处理下文章内容,来达到文章外部链接的自动删除的效果. 本实例代码主要参考织梦CMS内容管理系统的外链删除方法. 复制代码 代码如下: /** *  删除非站内链接 * * @access    public * @param     string  $body  内容 * @param     array  $allow_urls  允许的超链接 * @return    strin

  • IDEA 链接Mysql数据库并执行查询操作的完整代码

    1.先写个 Mysql 的链接设置页面 package com.wretchant.fredis.menu.mysql; import com.intellij.notification.NotificationType; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.wretchant.fredis.gui

  • 详解删除SQL Server 2005 Compact Edition数据库

    详解删除SQL Server 2005 Compact Edition数据库 本主题将介绍如何删除 Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) 数据库.由于 SQL Server Compact Edition 数据库是文件系统中的文件,因此需要通过删除文件来删除 SQL Server Compact Edition 数据库. 删除 SQL Server Compact 数据库 调用 System.

  • jdbc链接远程数据库进行修改url操作

    链接远程数据库的时候,要把获得链接的url进行修改,本文分享了具体代码,供大家参考,具体内容如下 package com.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * jdbc链接远程数据库(公司的176库)操作 * * @Author

  • python链接Oracle数据库的方法

    本文实例讲述了python链接Oracle数据库的方法.分享给大家供大家参考.具体如下: 这里使用python链接Oracle数据库需要引用cx_Oracle库 #coding=UTF-8 import cx_Oracle def hello(): '''Hello cx_Oracle示例: 1)打印数据库版本信息. 2)查询表数据.''' conn = cx_Oracle.connect("obs61","obs61","tx8i.hp") c

  • ubuntu系统下 python链接mysql数据库的方法

    进入root 权限下 apt-get install mysql-server apt-get install mysql-client 创建数据库 mysql -u root -p passward 链接数据库 create database basename use basename 如果数据库存在要进行改动可以直接使用 mysql -u root -p passward basename 创建表 create table latest_face( id int(11) not null a

  • NodeJS链接MySql数据库的操作方法

    如下所示: //1.用npm命令安装mysql模块 npm install mysql //2.js文件中引入mysql模块 const mysqlModule = require('mysql'); //3.创建mysql链接对象 const mysqlConnection = mysqlModule.createConnection({ host:连接的数据库地址.(默认:localhost) port:连接地址对应的端口.(默认:3306) localAddress: 源IP地址使用TCP

  • python链接oracle数据库以及数据库的增删改查实例

    初次使用python链接oracle,所以想记录下我遇到的问题,便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节. 1.首先,python链接oracle数据库需要配置好环境. 我的相关环境如下: 1)python:Python 3.6.3 (v3.6.3:2c5fed8, Oct 3 2017, 17:26:49) [MSC v.1900 32 bit (Intel)] on win32 2)oracle:11.2.0.1.0 64bit.这个是server版本号,在链接oracle

  • node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】

    本文实例讲述了node链接mongodb数据库的方法.分享给大家供大家参考,具体如下: 一.安装2.6版本以上的mongodb在云服务器上(百度就能查到安装方法,以及验证是否安装成功一般是mongodb –version): 二.因为mongodb的默认开启端口是27017,所以要在Ubuntu上开启这个端口: ufw allow 27017 ufw enable ufw reload ufw status //这是查看这个端口是否开启,iptables --list也可以查看 光在服务器开了端

随机推荐