jkehler / awslambda-psycopg2

1.12k stars 363 forks source link

AWS Lambda with psycopg2 (compiled with PostgreSQL 13.4) #69

Open billglennon opened 2 years ago

billglennon commented 2 years ago

I am basically trying to do the following for AWS Lambda for psycopg2.

I am trying with the following source code bases and I get the error below. Python 3.8.1 Psycopg2 2.9.3 PostgreSQL 13.4

psycopg2 setup.cfg config file psycopg2-2.9.3/setup.cfg pg_config = static_libpq = 1 libraries = ssl crypto

However, when I try with PostgreSQL 11.14 it works. Python 3.8.1 Psycopg2 2.9.3 PostgreSQL 11.14

I also tried with PostgreSQL 12.9 and I get the same error.

Of the web sites I found with this process, all the database versions were PostgreSQL 11 or lower.

Did something change in 12 and above to cause this issue with psycopg2?

Any help/pointers would be appreciated.

Error Message:

import psycopg2 Traceback (most recent call last): File "", line 1, in File "/usr/local/lib/python3.8/site-packages/psycopg2-2.9.3-py3.8-linux-x86_64.egg/psycopg2/init.py", line 51, in from psycopg2._psycopg import ( # noqa ImportError: /usr/local/lib/python3.8/site-packages/psycopg2-2.9.3-py3.8-linux-x86_64.egg/psycopg2/_psycopg.cpython-38-x86_64-linux-gnu.so: undefined symbol: pg_tolower

m-ajay commented 2 years ago

I'm experiencing the same issue with

EAblir commented 2 years ago

Any updates for this?

christine-le commented 2 years ago

I also am getting the above error message. Trying to compile Psycopg2 on Amazon Linux 2 with the versions:

PosgreSQL 13.7 Psycopg2 2.9.3 Python 3.9

Things I've tried:

Same errors each time.

sphinks commented 2 years ago

I managed to go with the command:

pip3 install --target ./package psycopg2-binary

Then I copy everything from package directory and place it at level of my lambda code. So I get at top level of lambda directories psycopg2 and psycopg2.binaries.lib, packed as zip and upload it. Looks like it is easier than use this project.