相关疑难解决方法(0)

杀死postgresql会话/连接

如何杀死所有postgresql连接?

我正在尝试rake db:drop但是我得到了:

ERROR:  database "database_name" is being accessed by other users
DETAIL:  There are 1 other session(s) using the database.
Run Code Online (Sandbox Code Playgroud)

我已经尝试关闭我从a看到的进程,ps -ef | grep postgres但这也不起作用:

kill: kill 2358 failed: operation not permitted
Run Code Online (Sandbox Code Playgroud)

database postgresql

342
推荐指数
12
解决办法
34万
查看次数

空闲PostgreSQL连接是否有超时?

1 S postgres  5038   876  0  80   0 - 11962 sk_wai 09:57 ?        00:00:00 postgres: postgres my_app ::1(45035) idle                                                                                 
1 S postgres  9796   876  0  80   0 - 11964 sk_wai 11:01 ?        00:00:00 postgres: postgres my_app ::1(43084) idle             
Run Code Online (Sandbox Code Playgroud)

我看到了很多.我们正在尝试修复连接泄漏.但与此同时,我们希望为这些空闲连接设置超时,最长可达5分钟.

postgresql database-connection

79
推荐指数
5
解决办法
14万
查看次数

PostgreSQL:暂时禁用连接

我在PostgreSQL中有一个脚本,每晚都会从转储中恢复测试数据库.应用程序服务器和具有连接池的进程可以访问数据库,从而始终保持一些连接处于活动状态.

所以脚本恢复转储my_temp_database.那么它应该改名my_databasemy_old_database,my_temp_databasemy_database,并最终下降my_old_database.

如何断开所有客户端,超级用户与否my_database,以便可以重命名?我怎么能暂时阻止他们重新连接?

有没有更好的方法来做我需要的?

postgresql

24
推荐指数
3
解决办法
2万
查看次数

如何在一个单一操作中从生产中克隆测试数据库?

我要寻找一个基本的脚本/命令,将创建一个实时数据库的副本(让他们的名字mydbmydb_test,都在同一台服务器上).

要求

  • 它必须运行,即使mydb_test已经存在并且有记录
  • 即使mydb并且mydb_test确实存在连接,它也必须工作
  • 如有必要,它必须清理可能存在的数据库

提示:

  • drop database 如果您有现有连接,则无法使用

postgresql templates database-connection postgresql-9.1

11
推荐指数
2
解决办法
3142
查看次数

psql:致命:角色连接太多

我尝试使用以下命令连接到数据库服务器:

psql -h host_ip -d db_name -U user_name --password
Run Code Online (Sandbox Code Playgroud)

它显示以下行并拒绝连接.

psql: FATAL:  too many connections for role "user_name".
Run Code Online (Sandbox Code Playgroud)

如何关闭活动连接?
我没有数据库的管理员权限.我只是一个普通用户.

sql postgresql connection psql

9
推荐指数
2
解决办法
2万
查看次数

sqlalchemy 关闭所有连接

我正在尝试使用 sqlalchemy 删除我的数据库:

def dropDb(self, dbName):
    self.closeConnection()
    self.selectDb(None)
    self.execute("drop database %s" % dbName)

def closeConnection(self):
    self._Session.close_all()
    self._engine.dispose()
    del self._Session
    del self._engine
Run Code Online (Sandbox Code Playgroud)

我用以下方法创建引擎:

sqlalchemy.create_engine(connection_string, poolclass = NullPool)
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

详细 ProgrammingError: (ProgrammingError) ('42000', '[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]无法删除数据库“test_db”,因为它当前正在使用中。(3702) (SQLExecDirectW)') '删除数据库 test_db'()

如何强制关闭所有连接?

python sqlalchemy

7
推荐指数
1
解决办法
5839
查看次数

为什么该PostgreSQL事务给出“警告:没有正在进行的事务”

我正在像这样的代码(简化)中运行事务查询:

try {
    runQuery("begin");
    runQuery("some query ...");
    runQuery("some other query ...");
    runQuery("some more query ...");
    runQuery("some extra query ...");
    runQuery("commit");
} catch (e){
    runQuery("rollback");
}
Run Code Online (Sandbox Code Playgroud)

这是来自postgres日志文件的语句列表。
请注意,第一次开始/提交工作正常,第二次提交给出了主题中提到的错误:

2015-02-18 20:19:17 UTC [6459-7] vdsr@sails LOG:  statement: begin
2015-02-18 20:19:17 UTC [6459-8] vdsr@sails LOG:  execute <unnamed>: INSERT INTO "groups" ("name", "parentGroupRef", "isCompany", "companyRef", "createdAt", "updatedAt") values ($1, $2, $3, $4, $5, $6) RETURNING *
2015-02-18 20:19:17 UTC [6459-9] vdsr@sails DETAIL:  parameters: $1 = 'testclient', $2 = '5', $3 = 't', $4 = '1', …
Run Code Online (Sandbox Code Playgroud)

postgresql logging transactions commit postgresql-9.3

2
推荐指数
2
解决办法
1万
查看次数