代码之家  ›  专栏  ›  技术社区  ›  Tim unnamed eng

在任何事务中都不必删除数据库吗?

  •  1
  • Tim unnamed eng  · 技术社区  · 6 年前

    https://wiki.postgresql.org/wiki/Psycopg2_Tutorial

    或者没有命令。如果要删除数据库,则需要 更改数据库的隔离级别这是使用 接下来。

    conn.set_isolation_level(0)
    

    光标执行。

    特别是,为什么需要将隔离级别更改为0?(如果我是正确的,0表示 psycopg2.extensions.ISOLATION_LEVEL_READ_COMMITTED

    https://stackoverflow.com/a/51859484/156458

    销毁数据库的操作是通过以下方式实现的 你不能从内部运行 也请继续 要在内部执行的语句(显然不是DROP DATABASE语句) 交易。

    实际上,如果任何人(包括您)是 你的隔离级别,你仍然需要连接到另一个数据库

    “不能从事务内部运行它,因为事务始终是可撤消的”。那么,如何从事务中删除非数据库?


    我的答案是 https://stackoverflow.com/a/51880577/156458

    1 回复  |  直到 6 年前
        1
  •  1
  •   Kamil Gosciminski    6 年前

    我不熟悉psycopg2,所以只能提供要执行的步骤。

    执行步骤 DROP DATABASE 蟒蛇

    1. 连接到其他数据库,但不希望删除
    2. 将隔离级别设置为0
    3. 删除数据库 查询

    执行步骤 删除数据库 PSQL语言 :

    1. 执行 删除数据库

    psql中的代码

    \c second_db
    DROP DATABASE first_db;