草庐IT

python - psycopg2 不返回结果

我正在尝试将psycopg2与我的postgresql数据库一起使用,无论我尝试什么,我的本地机器上运行的postgresql数据库都无法返回结果。它似乎可以正常连接到数据库,因为如果我更改任何配置参数,它就会抛出错误,但是,当我运行看似有效且结果有值(value)的查询时,我什么也得不到。我的数据库正在运行并且其中肯定有一个表:postgres=#\cYouarenowconnectedtodatabase"postgres"asuser"postgres".postgres=#select*fromfoos;name|age---------+-----Sarah|23Michae

python - 如何使用 psycopg 和 gevent 合并连接?

psycopg文档状态:“Psycopg连接不是绿色线程安全的,不能由不同的绿色线程同时使用。尝试在每个线程使用一个游标同时执行多个命令将导致错误(或2.4.2之前的版本死锁)。因此,建议程序员要么避免在协程之间共享连接,要么使用库友好的锁来同步共享连接,例如用于汇集。”我找不到绿色线程安全的池实现-有吗? 最佳答案 我假设你知道gevent-psycopg2模块,它使psycopg对greenlet友好。寻找连接池解决方案我已经尝试了2种解决方案:SQLALchemy-它似乎可以与monkey-patched线程和gevent-p

python - psycopg2 无法连接到 docker 镜像

我已经按如下方式启动了我的docker镜像:dockerrun--namefnf-postgis-ePOSTGRES_DB=fnf-ePOSTGRES_USER=fnfuser-ePOSTGRES_PASSWORD=fnf2pwd-p5432:5432-dmdillon/postgis:11我已经设置了我的djangodb配置:DATABASES={'default':{'ENGINE':'django.contrib.gis.db.backends.postgis','NAME':'fnf','USER':'fnfuser','PASSWORD':'fnf2pwd','host':'

python - psycopg2 无法连接到 docker 镜像

我已经按如下方式启动了我的docker镜像:dockerrun--namefnf-postgis-ePOSTGRES_DB=fnf-ePOSTGRES_USER=fnfuser-ePOSTGRES_PASSWORD=fnf2pwd-p5432:5432-dmdillon/postgis:11我已经设置了我的djangodb配置:DATABASES={'default':{'ENGINE':'django.contrib.gis.db.backends.postgis','NAME':'fnf','USER':'fnfuser','PASSWORD':'fnf2pwd','host':'

python - Docker 中 python :2. 7-alpine 的 psycopg2 安装

要在python中使用PostgreSql,我需要pipinstallpsycopg2但是,它依赖于libpq-dev和python-dev。我想知道如何在alpine中安装依赖项?谢谢。这是一个Dockerfile:FROMpython:2.7-alpineRUNapkaddpython-devlibpq-devRUNpipinstallpsycopg2输出是:Step3:RUNapkaddpython-devlibpq-dev--->Runningin3223b1bf7cdeWARNING:IgnoringAPKINDEX.167438ca.tar.gz:Nosuchfileord

python - Docker 中 python :2. 7-alpine 的 psycopg2 安装

要在python中使用PostgreSql,我需要pipinstallpsycopg2但是,它依赖于libpq-dev和python-dev。我想知道如何在alpine中安装依赖项?谢谢。这是一个Dockerfile:FROMpython:2.7-alpineRUNapkaddpython-devlibpq-devRUNpipinstallpsycopg2输出是:Step3:RUNapkaddpython-devlibpq-dev--->Runningin3223b1bf7cdeWARNING:IgnoringAPKINDEX.167438ca.tar.gz:Nosuchfileord

linux - 为什么我没有权限在 virtualenv 中安装 psycopg2

我的目标是在运行Ubuntu的EC2实例上提供一个使用postgres的helloworldDjango应用程序。我通过ssh登录并使用以下requirements.txt克隆了一个包含Django项目的git存储库:Django==1.8.2djangorestframework==3.1.2psycopg2==2.6我创建了一个virtualenv,然后,当我运行(ec2_deploy_test)ubuntu@ip-172-31-22-100:~/ec2-deploy-test$pipinstall-rrequirements.txt,抛出了这个异常:Collectingpsyco

python - Psycopg2 使用占位符插入表格

这可能是一个相当愚蠢的问题,但我在这里做错了什么?它创建了表格,但INSERTINTO不起作用,我想我对占位符做错了什么?conn=psycopg2.connect("dbname=postgresuser=postgres")cur=conn.cursor()escaped_name="TOUR_2"cur.execute('CREATETABLE%s(idserialPRIMARYKEY,daydate,elapsed_timevarchar,net_timevarchar,lengthfloat,average_speedfloat,geometryGEOMETRY);'%esc

python - 为什么 psycopg2 不执行我的任何 SQL 函数? (索引错误 : tuple index out of range)

我以最简单的SQL函数为例:CREATEORREPLACEFUNCTIONskater_name_match(INTEGER,VARCHAR)RETURNSBOOLAS$$SELECT$1IN(SELECTskaters_skater.competitor_ptr_idFROMskaters_skaterWHEREname||''||surnameILIKE'%'||$2||'%'ORsurname||''||nameILIKE'%'||$2||'%');$$LANGUAGESQL;如果我将它复制并粘贴到psql(PostgreSQL的shell)中,那么它会毫无问题地执行。如果我写一

python - 大型查询后 psycopg2 泄漏内存

我正在使用psycopg2(我升级到版本2.5)在python脚本中针对我的postgres数据库运行大型查询。查询完成后,我关闭游标和连接,甚至运行gc,但该过程仍然消耗大量内存(确切地说是7.3gb)。我错过了清理步骤吗?importpsycopg2conn=psycopg2.connect("dbname='dbname'user='user'host='host'")cursor=conn.cursor()cursor.execute("""largequery""")rows=cursor.fetchall()delrowscursor.close()conn.close()