我想使用Python创建Postgres数据库。
con = psql.connect(dbname='postgres',
user=self.user_name, host='',
password=self.password)
cur = con.cursor()
cur.execute("CREATE DATABASE %s ;" % self.db_name)
我收到以下错误:
InternalError: CREATE DATABASE cannot run inside a transaction block
我正在使用psycopg2进行连接。我不明白这是什么问题。我想做的是连接到数据库(Postgres):
psql -postgres -U UserName
然后创建另一个数据库:
create database test;
这是我通常要做的,我想通过创建Python脚本来实现此自动化。
使用psycopg2扩展名ISOLATION_LEVEL_AUTOCOMMIT:
发出命令且不需要commit()或rollback()时,不会启动任何事务。
import psycopg2
from psycopg2 import sql
from psycopg2.extensions import ISOLATION_LEVEL_AUTOCOMMIT # <-- ADD THIS LINE
con = psycopg2.connect(dbname='postgres',
user=self.user_name, host='',
password=self.password)
con.set_isolation_level(ISOLATION_LEVEL_AUTOCOMMIT) # <-- ADD THIS LINE
cur = con.cursor()
# Use the psycopg2.sql module instead of string concatenation
# in order to avoid sql injection attacs.
cur.execute(sql.SQL("CREATE DATABASE {}").format(
sql.Identifier(self.db_name))
)
问题内容: 有创建数据库的类似物吗? 背景:我正在编写一个脚本,以在未知系统上的PostgreSQL中自动设置架构。我不确定数据库(甚至是架构的一部分)是否已经部署,因此如果某些结构已经存在,我想构建代码以使其不会失败(或者理想情况下甚至显示错误)。我想区分导致我无法创建数据库的错误(因此中止将来的架构更改,因为它们将无法工作)。 问题答案: 否,但是您可以查询pg_catalog.pg_data
我想创建基于实体的数据库。配置: null null 由于某种原因,数据库的创建发生在事务中。我发现源代码负责,但我无法找出交易是如何启动的。我可以提供更详细的信息,但也许现在已经有人可以帮忙了。 编辑:persistence.xml
是否有用于创建数据库的模拟? 背景:我正在编写一个脚本来在未知系统上自动设置PostgreSQL中的模式。我不确定数据库(甚至是模式的一部分)是否已经部署,所以如果某些结构已经存在,我想将我的代码结构为不会失败(或者理想情况下甚至显示错误)。我想将阻止我创建数据库的错误(因此中止未来的模式更改,因为它们不起作用)与此错误区分开来。
问题内容: 这是我从Google bigquery解析的数据: 作为Python新手,我真的不知道如何解析该数据以创建一个json对象,如下所示: 任何人都可以给我一些入门的提示吗? 例 在这个单词中,是995和1600。因此也是如此。 问题答案: 如果“ Z”是您的大词典,则在“响应”上您将获得所需的结构。 响应后,您将获得以下信息: 我相信它是您所需要的。比仅使用json对响应做一个就可以了。
我已经尝试了StackOverflow中给出的许多解决方案,比如中的一些更改、更改方言、设置模式等。我检查了数据库权限和用户/密码信息,一切正常。 } 根据我下面的教程,这个设置应该导致在postgres数据库中创建表,但它没有发生。
问题内容: 我想在Python(2.7)中创建一个3D数组,以便像这样使用: 数组的大小应该是我拥有的变量的大小。(n n n) 我尝试使用: 但这似乎不起作用。 我只能使用默认库,并且乘法(即)的方法将不起作用,因为它们链接到相同的指针,并且我需要所有值都是单独的 问题答案: 您应该使用列表理解: 您本可以使用一个看起来像您尝试过的语句来生成数据结构,但是由于内部列表是按引用复制的,因此它会产生