相关疑难解决方法(0)

在psql中,为什么有些命令没有效果?

有时我的命令psql似乎没有效果.知道为什么吗?

以下是数据库中所有表的列表library_development:

library_development=> \d

               List of relations
 Schema |       Name        | Type  |  Owner
--------+-------------------+-------+----------
 public | Pavan             | table | postgres
 public | schema_migrations | table | sai
(2 rows)
Run Code Online (Sandbox Code Playgroud)

在此之后我删除的表Pavan使用:

library_development-> drop table Pavan
Run Code Online (Sandbox Code Playgroud)

但是表格没有被删除,其显示如下:

library_development=> \d
               List of relations
 Schema |       Name        | Type  |  Owner
--------+-------------------+-------+----------
 public | Pavan             | table | postgres
 public | schema_migrations | table | sai
(2 rows)
Run Code Online (Sandbox Code Playgroud)

也:

  1. 我在Windows中使用PostgreSQL.是否有任何清除控制台的命令(如Oracle中的cl scr)?

  2. 在使用DML脚本时,我是否需要在Postgresql中执行"提交"的概念?

postgresql psql

13
推荐指数
2
解决办法
7891
查看次数

当存在活动连接时删除数据库

我正在尝试编写数据库备份脚本,部分流程是我需要删除数据库,然后从备份重新创建数据库。

当存在到数据库的连接时,我收到如下失败消息:

DETAIL: There are 2 other sessions using the database.

我一直在寻找一种方法来忽略此问题或在删除数据库之前终止连接。我正在尝试使用下面的查询,但它似乎实际上不允许我在运行后删除数据库。

-- Drop connections
\set database_name `echo $DB_NAME`

SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = ':database_name'
AND pid <> pg_backend_pid();
Run Code Online (Sandbox Code Playgroud)

我从 SO 帖子中获取了查询,该帖子似乎表明可以使用它,是否有更可靠的方法来执行此操作,或者无论是否存在活动连接都强制删除数据库?

postgresql database-connection drop-database postgresql-9.6

3
推荐指数
1
解决办法
4332
查看次数