【PostgreSQL 学习之使用psycopg2 操作之数据库不存在才创建】教程文章相关的互联网学习教程文章

PostgreSQL 学习之使用psycopg2 操作之数据库不存在才创建【代码】

需求 自己的一款软件 GitHub 地址,关于PostgreSQL 已经设置成运行后自动创建序列,表和函数,但是数据库还是要手动去创建,很不方便,想使用创建序列和表同样的方法,去自动创建数据库 过程 DDL 语句如下:DB_NAME = """ CREATE DATABASE if not exists {};ALTER DATABASE {} OWNER TO postgres; """.format(DATABASE_NAME, DATABASE_NAME)发现会报一个DDL 语句语法错误psycopg2.ProgrammingError: syntax error at or near "not"...

python-使用psycopg2将PostgreSQL UUID数组返回为列表【代码】

我有一个SQL语句,其中包含嵌入在ARRAY()中的子查询,如下所示:SELECT foo, ARRAY(SELECT x from y) AS bar ...该查询工作正常,但是在psycopg2结果游标中,该数组作为字符串(如“ {1,2,3}”)而不是列表返回. 我的问题是,将像这样的字符串转换为python列表的最佳方法是什么?解决方法:它对我有用,无需解析:import psycopg2query = """select array(select * from (values (1), (2)) s); """conn = psycopg2.connect('dbname=cpn user...

python-对PostgreSQL数据库的SQLAlchemy / psycopg2连接是否已加密【代码】

当我将SQLAlchemy与外部postgreSQL服务器一起使用时,连接是否安全/加密? 从sqlalchemy.engine导入create_engine引擎= create_engine(‘postgresql:// scott:tiger @ ip:5432 / mydatabase‘) 那么psycopg2呢?解决方法:您的连接字符串并不表示安全连接.但是,有时连接可能仍然是安全的,但这不太可能. 要与PostgreSQL数据库建立安全连接,可以使用sslmode参数.engine = create_engine('postgresql://scott:tiger@ip:5432/mydataba...

如何使用Python / psycopg2有效地更新大型PostgreSQL表中的列?【代码】

我有一张大桌子. PostgreSQL 9.4数据库中的1000万行.它看起来像这样:gid | number1 | random |?result |?...1 | 2 | NULL | NULL |?...2 | 15 | NULL | NULL | ... ... | ... | ... | ... | ...现在,我想随机更新列,并将其结果作为number1的函数.这意味着至少需要在数据库外部的脚本中产生随机性.由于内存有限,我想知道如何使用psycopg2有效地做到这一点.我相信我面临两个问题:如何在不使用过多R...

如何在python中通过psycopg2模块取消存储在postgresql中的二进制数据?【代码】

我正在使用cPickle和psycopg2将一些向量存储到数据库中.这是我存储二进制数据的代码binary_vec = cPickle.dumps(vec, -1) db.cur.execute('''INSERT INTO feature_vector (vector, id) VALUES (%s, %s);''', (psycopg2.Binary(binary_vec), thread_id) db.conn.commit()但是,当我使用fetchall()加载我的数据时,类型是缓冲区.我找不到如何将此缓冲区对象恢复到列表(vec). 这就是我获取数据的方式db.cur.execute("SELECT * FROM feat...

PostgreSQL / Psycopg2 upsert语法更新列【代码】

我希望在存在id冲突时让Psycopg2更新col1,col2和col3. 在我的Python代码中,我将插入SQL当前作为:insert_sql = '''INSERT INTO {t} (id,col1,col2,col3)VALUES (%s,%s,NULLIF(%s, 'nan'), NULLIF(%s, 'nan'))ON CONFLICT (id)DO NOTHING;'''基本上我没有想要设置: (col1,col2,col3)=(%s,NULLIF(%s,’nan’),NULLIF(%s,’nan’)) 这会忽略插入ID并更新col1,col2和col3.问题是使用%s使用Psycopg2在Python中传递元组变量:cur.ex...

postgresql – Psycopg2究竟是什么?

这个问题是我正在为学校写的一份报告.从技术上讲,什么是Psycopg2?在this tutorial,他们将其称为“适配器”和“驱动器”Psycopg2 is a DB API 2.0 compliant PostgreSQL driver that is activelydeveloped. It is designed for multi-threaded applications and managesits own connection pool. Other interesting features of the adapter arethat if you are using the PostgreSQL array data type, Psycopg willautomatically ...

postgresql – 如何在psycopg2中使用多个Postgres数据库【代码】

我在两个不同的服务器上有两个不同的Postgres数据库(一个实际上是本地的).与this question类似,我想同时使用这两个数据库.但是,我无法弄清楚如何使用psycopg2做到这一点. 所以我想我可能需要两个不同的游标:conn_local = psycopg2.connect(dbname='local_db', host='localhost') conn_remote = psycopg2.connect(dbname='remote_db', host='some.other.server')curs_local = conn_local.cursor() curs_remote = conn_remote.curso...

为什么我不能安装psycopg2? (Python 2.6.4,PostgreSQL 8.4,OS X 10.6.3)【代码】

原始消息(现已过时): 运行python setup.py install后,我得到以下内容:Warning: Unable to find 'pg_config' filebuilding 'psycopg2._psycopg' extension gcc-4.0 -arch ppc -arch i386 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 - DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.2.1 (dt dec ext pq3)" -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -DHAVE_PQPROTOCOL3=1 -I/...

python – 无法使用django和postgreSQL调试psycopg2的错误消息【代码】

我正在尝试使用psycopg2创建连接到django Web应用程序的postgreSQL数据库.我运行python manage.py migrate时收到以下错误(temp-python) ? python manage.py migrate Traceback (most recent call last):File "~/git-repos/MyApp/temp-python/lib/python3.4/site-packages/django/db/backends/postgresql/base.py", line 20, in <module>import psycopg2 as DatabaseFile "~/git-repos/MyApp/temp-python/lib/python3.4/site-packag...

PostgreSQL 学习之使用psycopg2 操作之数据库不存在才创建【代码】

大声的告诉我是不是被我标题中的两个“之”给带进来的??手动滑稽 需求 自己的一款软件 GitHub 地址,关于PostgreSQL 已经设置成运行后自动创建序列,表和函数,但是数据库还是要手动去创建,很不方便,想使用创建序列和表同样的方法,去自动创建数据库 过程 DDL 语句如下:DB_NAME = """ CREATE DATABASE if not exists {};ALTER DATABASE {} OWNER TO postgres; """.format(DATABASE_NAME, DATABASE_NAME)发现会报一个DDL 语句语...

POSTGRESQL - 相关标签