点击上方蓝字关注我

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

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与Windows之间实现文件实时同步的方案
  2. win10 右键 命令行
  3. 第一个实例-----我与node.js的第一步接触
  4. C#decimal数据类型——有效长度问题
  5. 九度OJ 1051:数字阶梯求和
  6. 手机上python编程工具3和3h有区别吗_Python3.5内置模块之time与datetime模块用法实例分析...
  7. “先粗后精”的实例分割,BPR:使用Crop-then-Refine的性能提高方法
  8. Python:我可以使用类变量作为线程锁吗?
  9. 消息队列与rabbitMQ的各种问题
  10. linux 命令之df持续更新中~
  11. 怎样将数据发送到前端_大数据从哪里来?
  12. 案例应用|如何借助SPC软件实现汽车零配件品质管理
  13. VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path
  14. nape.dynamics.InteractionFilter
  15. 3种方式获取Wifi名称 兼容获取Wifi名字为空 WifiInfo.getSSID为空的情况
  16. 安装mysql提示oxc000007b_重装win7系统黑屏提示oxc000007b怎么办
  17. httpd +jk_虚拟主机+ Apache httpd服务器+ Tomcat + mod_jk连接器
  18. 基于MATLAB对系统的串联滞后校正
  19. 51单片机c语言的秒表设计,基于51单片机的计时器设计
  20. 算法详解——后缀自动机

热门文章

  1. 【c语言】职工信息管理系统 包含读取写入txt文件,职工信息的增删改查
  2. 联想全球实行两大品牌战略:Think和Idea
  3. FILETIME或时间戳转换日期
  4. FFmpeg三大工具--ffprobe
  5. 恒德消防指挥系统未来解决方案
  6. 传智播客java怎么样_零基础学习java开发选择云和好还是传智播客好?
  7. Autofac在.net mvc下的配置和使用
  8. Dell服务器raid5阵列的配置
  9. 关于出生至今的感想杂谈?单纯用于宣泄心中的烦闷
  10. 计算机网络宽带接入,计算机网络(宽带接入技术).ppt