在psycopg2中使用二进制COPY表FROM
我有数千万的行从多维数组文件传输到PostgreSQL数据库中.我的工具是Python和Psycopg2.批量Instert数据的最有效方法是使用 copy_from .但是,我的数据主要是32位浮点数(真实或float4),因此我宁愿不从真实的→文本→真实转换.这是一个示例数据库DDL: CREATE TABLE num_data ( id serial PRIMARY KEY NOT NULL, node integer NOT NULL, ts smallint NOT NULL, val1 real, val2 double precision ); 这是我使用字符串(文本)与Python一起使用的地方: # Just one row of data num_row = [23253, 342, -15.336734, 2494627.949375] import psycopg2 # Python3: from io import Stri
12 2024-04-05
编程技术问答社区
我在哪里可以下载带有psycopg2的二进制蛋,用于Windows?
我正在寻找带有psycopg2的二进制文件的二进制鸡蛋,但找不到任何鸡蛋. 在我要寻找二进制鸡蛋的原因是我想在virtualenv中安装psycopg,而不是 ( this 答案描述了为什么可能会使用标准的Windows安装程序来进行安装的标准Windows安装程序,从python在注册表中. 旁注:我猜Psycopg非常受欢迎,这让我很奇怪,不要在项目页面上提供二进制鸡蛋.我在这里错过了什么吗? 解决方案 我们只使用虚拟环境中的easy_install http://www.stickpeople.com/projects/python/win-psycopg/psycopg2-2.4.win32-pyx.x-pg9.0.3-release.exe. 似乎有效;我们最终在虚拟环境中,而不是基本环境中的psycopg2,这是我在这里成为最终游戏的. upd: stickpeople上. com网站 其他解决方案 Google的" Psycopg2 Wi
18 2024-03-30
编程技术问答社区
Postgres在Python中获取数据失败
我正在使用python和 psycopg2 模块从Postgres数据库中获取数据. 数据库很大(数十个GB). 一切似乎都在起作用,我正在从获取的数据中创建对象. 但是,在〜160000的创建对象之后,我会收到以下错误: 我想原因是数据量,但是我无法在任何地方在线搜索解决方案.我不知道使用任何代理,并且以前从未在该计算机上使用过任何代理,数据库已在 localhost上. . 解决方案 有趣的是,"这是本地服务器,所以我不向SQL注入开放"的姿态会导致人们认为字符串插值比参数化查询更容易.在您的情况下,它最终得到了: '... cookie_id = \'{}\''.format(cookie) 因此,您最终得到了一些不太清晰且失败的东西(尽管从具体错误我不知道如何确切的错误).使用参数化: cursor.execute("SELECT user_id, created_at FROM cookies WHERE cookie_id = %s O
8 2024-03-30
编程技术问答社区
无法在Mac12.3上安装psycopg2,一直出现以下错误
ive最近购买了MacBook Pro,并为一些Python和Django编程设置了它,但是我最终在安装Psycopg2时遇到了问题,我已经尝试过几件事,而这些都不适合我,这里留下了错误, Collecting psycopg2 Using cached psycopg2-2.9.3.tar.gz (380 kB) Preparing metadata (setup.py) ... error error: subprocess-exited-with-error × python setup.py egg_info did not run successfully. │ exit code: 1 ╰─> [23 lines of output] running egg_info creating /private/var/folders/7f/ssr40bmj6t3_yq0cv_43cttc0000gn/T/pip-pip-egg
18 2024-03-26
编程技术问答社区
无法使用psycopg连接Azure postgres。无法找到您尝试的服务器名称
我想通过psycopg2向外部连接到Azure Postgresql.我在其中创建了一个带有PostgreSQL DB的服务器. 问题在于,当我尝试创建连接时,出现错误时出现了'psycopg22.operationalerror:致命:您尝试过的服务器名称找不到.请使用正确的名称和重试.请检查您的服务器名称lfsserverlv.' import psycopg2 conn = psycopg2.connect( host='lfsserverlv.database.windows.net', dbname='lfsdb', user='adminlfs@lfsserverlv', password='some_password', sslmode='require' ) 服务器名称在下面的屏幕截图上(对不起) 在与Azure的连接时,我不知道还有其他事情. 任何帮助将不胜感激 解决方案 确保您已经传递了正确的服务器名称.
10 2024-03-26
编程技术问答社区
用psycopg2通过lambda连接到亚马逊的rds
我在AWS lambda上的代码: import sys, boto3, logging, rds_config, psycopg2 rds_host = "hostname" name = rds_config.db_username password = rds_config.db_password db_name = rds_config.db_name s3 = boto3.resource('s3') rds_client = boto3.client('rds',aws_access_key_id=Access_Key,aws_secret_access_key=Secret_Access_Key) instances = rds_client.describe_db_instances() print (instances) try: conn = psycopg2.connect(host=rds_host,
14 2024-03-22
编程技术问答社区
无法导入模块'lambda_function': 没有名为'psycopg2._psycopg aws lambda function的模块
我已经在我的软件包文件夹中使用此命令安装了psycopg2: pip install --target ./package psycopg2 # Or pip install -t ./package psycopg2 现在psycopg2模块在我的软件包中,我创建了zip并将其上传到AWS lambda中. 在我当地的冲刺中工作正常,但在AWS lambda上行不通. 它向我显示错误 { "errorMessage": "Unable to import module 'lambda_function': No module named 'psycopg2._psycopg'", "errorType": "Runtime.ImportModuleError", "stackTrace": [] } 我的lambda代码是 import psycopg2 def lambda_handler(): print('hello')
12 2024-03-22
编程技术问答社区
用于psycopg2的AWS Lambda层
我正在尝试创建一个新的lambda层,以使用psycopg2导入zip文件,因为库使我的部署软件包超过了3MB,我再也看不到我的lambda函数中的直列代码. 我在以下2个情况下创建了lambda层,其中python 3.7: psycopg2_lib.zip(包含psycopg2,psycopg2_binary.libs和psycopg2_binary-2.8.5.5.dist-info-info文件夹) ) psycopg2_only.zip仅包含psycopg2文件夹. 我在我的lambda函数中添加了新创建的图层. 但是,在这两种情况下,我的lambda_function都会出现一个错误,如下所示: { " errormessage":"无法导入模块'lambda_function':无模块名为'psycopg2'", " errortype":" runtime.importmoduleerror" } 错误似乎在我的zip文件中出现了出现问题,而这些
16 2024-03-22
编程技术问答社区
在lambda上运行Psycopg版本3
我正在使用python3.9 的lambda docker基础图像 FROM public.ecr.aws/lambda/python:3.9 我正在尝试在代码中使用psycopg.这是一个最小可重复的示例: dockerfile # This works! # FROM python:3.9 # This doesn't work FROM public.ecr.aws/lambda/python:3.9 RUN pip install psycopg COPY . . ENTRYPOINT ["python", "script.py"] script.py # I'm running these docker commands # docker build -t test . # docker rune test import psycopg psycopg.connect("host=localhost") print('hel
24 2024-03-22
编程技术问答社区
没有名为'psycopg2._psycopg'的模块: 在AWS Lambda中模块未找到错误
我使用我的Python文件和包括Sqlalchemy和Psycopg2的依赖项为AWS Lambda创建了一个部署包.该代码在本地访问数据库方面非常有效.但是,当我导入此ZIP文件时,我会收到以下错误. No module named 'psycopg2._psycopg': ModuleNotFoundError 错误的堆栈跟踪是 { "errorMessage": "No module named 'psycopg2._psycopg'", "errorType": "ModuleNotFoundError", "stackTrace": [ [ "/var/task/DBAccessLamdaHandler.py", 50, "lambda_handler", "engine = create_engine(rds_host)" ], [ "/var/task/sqlal
14 2024-03-22
编程技术问答社区
我可以在psycopg2中使用md5认证吗?
经过两个小时的阅读文档,源代码和帮助线程,我放弃了.我无法通过MD5系列验证psycopg2.根据这个我除了启用MD5-- pg_hba.conf中的auth. 这是我的当前pg_hba.conf: # TYPE DATABASE USER CIDR-ADDRESS METHOD local all all md5 host all all 127.0.0.1/32 md5 host all all ::1/128 md5 host all all 0.0.0.0/0 md5 我使用psycopg2: psycopg2.connect(host='localhost'
10 2024-03-20
编程技术问答社区
将Python NumPy数组插入PostgreSQL数据库中
如何将大量坐标(x,y)插入邮政QL表中?我不想使用for循环.它是一个带有3601x3601像素的栅格. import numpy as np import psycopg2 # Data example: east = np.linspace(-180.0,180.0,num=10) north = np.linspace(-90.0,90.0,num=10) coor = np.vstack([east, north]) conn = psycopg2.connect("dbname='postgres' user='dbuser' host='localhost' password='dbpass'") cur = conn.cursor() cur.execute("DROP TABLE IF EXISTS foobar;") cur.execute("CREATE TABLE foobar (coordinate point);") # Working fo
18 2024-03-06
编程技术问答社区
无法在M1 Mac上使用pip3安装psycopg2
我不能在我的M1 Mac上安装Psycopg2,而我使用了PIP3. 当我尝试使用 pip3 安装 psycopg2 输出时: ERROR: Command errored out with exit status 1: command: /opt/homebrew/opt/python@3.9/bin/python3.9 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/m5/vhnyyjg16gd352x6wdhpjysh0000gn/T/pip-install-9wiqe2nr/psycopg2_147a5ae8fd5a47079480274f4225edbf/setup.py'"'"'; __file__='"'"'/private/var/folders/m5/vhnyyjg16gd352x6wdhpjysh0000gn/T/pip-install
24 2024-03-02
编程技术问答社区
在M1 mac上导入psycopg2时出错:架构不兼容
当我尝试导入PsyCopG2时,我会收到此错误消息: ImportError: dlopen(/opt/homebrew/lib/python3.10/site-packages/psycopg2/_psycopg.cpython-310-darwin.so, 0x0002): Library not loaded: /opt/homebrew/opt/postgresql/lib/libpq.5.dylib Referenced from: /opt/homebrew/lib/python3.10/site-packages/psycopg2/_psycopg.cpython-310-darwin.so Reason: tried: '/opt/homebrew/opt/postgresql/lib/libpq.5.dylib' (no such file), '/usr/local/lib/libpq.5.dylib' (mach-o file, but is an i
16 2024-03-02
编程技术问答社区
AWS GLUE PSYCOPG2安装
我正在尝试运行使用PsyCopG2操纵红移实例的代码.我尝试通过导入轮档来尝试,因为我看到它们在胶水python的工作中得到了支持.我看到该库在运行时安装在端点中,但随后我会发现一个错误: import boto3 import psycopg2 Aug 4, 2020, 1:24:06 PM Pending execution Processing ./glue-python-libs-92ng4pcb/psycopg2-2.8.5-cp36-cp36m-win_amd64.whl Installing collected packages: psycopg2 Successfully installed psycopg2-2.8.5 Considering file without prefix as a python extra file s3://gluelibraries/boto3.zip WARNING: The directory '/.cache/pip'
30 2024-01-26
编程技术问答社区
在Python中使用psycopg2获取插入到Redshift表中的行的自动ID
我使用 python 2.7 使用 python 2.7 使用 psycopg2 库中的 Amazon Redshift 表格中,我想恢复自动生成插入行的主要ID. 我尝试使用Google搜索,例如: 在此处或其他网站上找到的通常方式 conn=psycopg2.connect(conn_str) conn.autocommit = True sql = "INSERT INTO schema.table (col1, col2) VALUES (%s, %s) RETURNING id;" cur = conn.cursor() cur.execute(sql,(val1,val2)) id = cur.fetchone()[0] 我在cur.ecute行上收到错误: ProgrammingError: syntax error at or near "RETURNING" 有人知道如何解决此问题或完成同一件事吗? 我必须在我的代码中使用 psycop
16 2024-01-26
编程技术问答社区
亚马逊Elastic Beanstalk上的Psycopg2
我正在尝试上传我的项目(在Python),该项目将PsyCopG2用于Amazon Elastic Beanstalk.我正在使用包含我的项目和要求的zip文件进行此操作. 但是我正在收到此错误: 下载/解开包装psycopg2> = 2.4.6(来自-r /opt/python/ondeck/app/requirements.txt(第3行))运行setup.py egg_info for Package psycopg2 错误:找不到pg_config. Please add the directory containing pg_config to the PATH or specify the full executable path with the option: python setup.py build_ext --pg-config /path/to/pg_config build ... or with the pg_config opt
8 2024-01-25
编程技术问答社区
Pandas-在Redshift表中插入文本列时出现错误
我正在尝试将文本列插入红移DB. 我有一个错误 DataError: value too long for type character varying(256) 下面给出的是我尝试的代码.描述列具有文本,长度达到2000个字符. 任何人都可以帮助我如何将此列插入表中. DF['description'] = DF['description'].str[:200].astype(str) 任何人都可以提供帮助,谢谢 解决方案 您应该使用str.slice. df['description'] = df['description'].str.slice(0,255) 请注意,此功能仅在Strings的情况下起作用,或者您可能必须打字. 希望它有帮助.
14 2024-01-25
编程技术问答社区
试图使用Python和psycopg2创建一个Redshift表,但表没有被创建,也没有报告错误。
我的代码返回没有错误,但是我在红移中看不到表...如果我放置"如果存在",并尝试创建一个表,我知道它的存在无能为力,并且返回没有错误.取出,它将返回奇怪的重复错误. import boto3 import psycopg2 import sys #Assign global variables data needed to make connection to Redshift DB_NAME = '' CLUSTER_IDENTIFIER = '' DB_USER = '' ENDPOINT = '..us-east-1.redshift.amazonaws.com' REGION = 'us-east-1' sql = "CREATE TABLE if not exists " + ". " + \ "( vendori
12 2024-01-25
编程技术问答社区