点击上方蓝字关注我

修改数据库名
修改数据库的脚本其实很简单,如下:

alter  database  db1  rename  to  db2;

但处理时检查如遇到如下的错误信息,导致无法修改库名,错误信息如下:

ERROR:  database "db1" is being accessed by other users
DETAIL:  There are 17 other sessions using the database.

处理办法:因提示的是数据库正在被其他用户所使用,所以需要先关闭连接该库的会话即可。
关闭连接的方式在PostgreSQL9.2及以上版本可以直接通过以下方式处理:

 SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity WHERE datname='db1' AND pid<>pg_backend_pid();
-- 再次修改alter database db1 rename to db2;

以上SQL简单说明一下:

pg_terminate_backend:用来终止与数据库的连接的进程id的函数。
pg_stat_activity:是一个系统表,用于存储服务进程的属性和状态。
pg_backend_pid():是一个系统函数,获取附加到当前会话的服务器进程的ID。

PS:
1)  删除数据库也经常会出现此错误,处理方式相同,都是先关闭连接再处理
2)很多数据库的修改或者offline数据库时都需要先关闭对应的连接,例如SQL SERVER。

想要学习PostgreSQL的同学可以学习一下如下两本经典的书籍。

往期精彩回顾

1.  MySQL高可用之MHA集群部署

2.  mysql8.0新增用户及加密规则修改的那些事

3.  比hive快10倍的大数据查询利器-- presto

4.  监控利器出鞘:Prometheus+Grafana监控MySQL、Redis数据库

5.  PostgreSQL主从复制--物理复制

6.  MySQL传统点位复制在线转为GTID模式复制

7.  MySQL敏感数据加密及解密

8.  MySQL数据备份及还原(一)

9.  MySQL数据备份及还原(二)

扫码关注

PostgreSQL修改数据库名相关推荐

  1. mysql 中修改对象_在MySQL中,创建一个数据库后,还可以对象其进行修改,不过这里的修改是指可以修改被创建数据库的相关参数,也可以修改数据库名。...

    [多选题]注射时,在(  )情况下,采用较高的注射速率. [单选题]通常,所设置的模具温度是指和制品接触的模腔内表面在(   ). [单选题]反映某一事件发生强度的指标应选用 [判断题]当试样制备之后 ...

  2. SQL Server 2014如何修改数据库名

    SQL Server 2014如何修改数据库名 未使用的数据库改名比较方便,找到你要改的数据库,右键选择"重命名" 然后把你想要改的名字写好,然后点击一下旁边的空白栏 然后你就发现 ...

  3. MySQL数据库修改数据库名的三种方式

    在Innodb数据库引擎下修改数据库名的方式与MyISAM引擎下修改数据库的方式完全不一样,如果是MyISAM可以直接去数据库目录中mv就可以,Innodb如果用同样的方法修改会提示相关表不存在. 第 ...

  4. SQL Server 修改数据库名、修改逻辑文件名、修改数据库物理文件名

    现有数据库为"Test",想要修改"NewTest",并且也修改逻辑文件名称和数据库物理名称. 说明: 1)禁止在生产环境,并且正在使用的数据库进行名称修改. ...

  5. MongoDB修改数据库名,collection名库名

    修改数据库名 db.copyDatabase('test', 'test1'); ~~db.copyDatabase('old_name', 'new_name'); use test ~~use o ...

  6. 曲苑杂坛--修改数据库名和文件组名

    /* 该脚本示例如何完整的修改一个数据库的名称. 数据库为原名称为DB_BEIJING,需要修改成DB_SHANGHAI nzperfect 2012.12.19 */--判断是否存在同名的数据库,以 ...

  7. Mysql修改数据库名方法

    mysql中如何重命名数据库?这篇文章主要介绍了安全快速修改Mysql数据库名的5种方法,需要的朋友可以参考下 RENAME DATABASE db_name TO new_db_name 这个..这 ...

  8. mysql修改数据库名的方法

    1.通用方法: 指的分别在MYSIAM引擎和INNODB的下 备份还原,安全稳定,数据量大的时候会花很多时间 先将数据库备份,然后再还原到新数据库 2.MYSIAM下 直接在数据库文件目录下修改对应数 ...

  9. 使用nid的修改数据库名

    Use Nid to Change dbname-NID的用法 Nid是Oracle从9iR2开始提供的工具,可以用来更改数据库名称,而无需通过之前重建控制文件等繁琐方式. 需要说明的是,虽然这个工具 ...

最新文章

  1. linux 简单dns搭建,搭建一个简易的DNS服务
  2. cognos学习轨迹
  3. 201621123028《Java程序设计》第一周学习总结
  4. Windows远程Linux/Ubuntu桌面
  5. mysql 数学函数
  6. systemverilog数据类型
  7. eclipse 3.7安装扩展心得
  8. C语言没有引用,只有指针
  9. 客户端无法连接到远程计算机。可能没有启用远程连接
  10. VUE3.0引入本地js文件
  11. 日本经验 | 距离最新潮的老年电竞,中国还有多远?
  12. python爬虫爬取网易云音乐歌手信息
  13. php根据手机号码获取归属地,PHP通过API获取手机号码归属地
  14. 2021走出数字化迷航,个体的获得感已成指路“灯塔”
  15. SLAM14讲学习笔记(一) 李群李代数基础
  16. silverlight | chrion.exe-动态语言创建silverlight
  17. fast文件服务器的迁移,FastDfs数据迁移方案预研
  18. ClickHouse连接ZK频繁超时处理案例
  19. linux挂载03磁盘,Linux_常用命令_03_磁盘/挂载_信息查看(示例代码)
  20. “80后”古宅修复者辗转5省 用匠心唤醒老宅魅力

热门文章

  1. pytorch 打印网络参数
  2. 管理类联考——逻辑——技巧篇——形式逻辑——秒杀思路
  3. Java时间带T转成正常时间_java是时间戳和时间的转换,时间戳比较时间大小,日月年转换成年月日...
  4. 跬步千里 —— 阿里云Redis bitfield命令加速记
  5. 微享商盟系统功能与小程序开发方案(静态页面制作)
  6. python 音频文件重采样8K转16K
  7. iOS基础(c)—程序结构的分类
  8. python手写神经网络之用im2col实现卷积层、池化层
  9. 自学Python可以吗?怎样从零基础到大师?我写这篇文章告诉你
  10. FILETIME或时间戳转换日期