tutorial scraping examples example con python postgresql plpython

examples - web scraping python beautifulsoup example



postgres y python (4)

Acabo de resolver este problema, literalmente, hace unos días. La solución es bastante complicada. Aquí va.

  1. Instale la versión de Python 3.2. * Solo en su sistema.
  2. En Postgresql use el comando ''CREATE LANGUAGE plpython3u'' para instalar el soporte de idioma de Python 3. La mayoría de las veces, dará el siguiente error "no se puede cargar" ..... / plpython3.dll "error 126. (Tenga en cuenta que si se instala correctamente, no se mostrará ningún error).

  3. En caso de que obtenga el error anterior, vaya a su directorio de instalación de Python (el valor predeterminado es C: / python32) y busque "python3.dll" en la carpeta de la DLL. Copie este archivo a su carpeta ''lib'' de Postgresql en el directorio de instalación de Postgres (el predeterminado es c: / archivos de programa / postgres / 9.x / lib / "). Cambie el nombre de este archivo copiado a python32.dll.

  4. Ahora ejecute de nuevo el comando ''CREATE LANGUAGE plpython3u''. Debería funcionar esta vez.

Para verificar, revise la vista pg_available_extensions en las tablas del sistema de postgresql. La fila que contiene plpython3u debe tener un número de versión en la columna "versión instalada".

Nota: Esto solo funciona para el lenguaje plpython3u. No conozco ningún proceso similar para plpython2u.

En postgres 9.2 estoy tratando de crear un programa de python que puede ser un disparador. Quiero ejecutar un programa externo (un exe en el disco local), así que estoy usando python para ejecutarlo. Cuando intento crear un programa simple como este:

CREATE FUNCTION one () RETURNS int AS $$ # PL/Python function body $$ LANGUAGE plpythonu;

Me sale el error

ERROR: language "plpythonu" does not exist HINT: Use CREATE LANGUAGE to load the language into the database.

Cuando corro

CREATE LANGUAGE plpythonu

Me sale el error

ERROR: could not access file "$libdir/plpython2": No such file or directory

Estoy usando Windows 7 y Python 2.5.

He buscado en muchos lugares pero no puedo encontrar una solución.

¿Algunas ideas?


Estoy instalado python 3.2 (x64) y postgres 9.3 (x64)

Ejecuta este código CREATE EXTENSION plpython3u

No olvide consultar el "installation-note.html" de su versión de postgresSQL. Hay una versión específica de Python para su postgresSQL.


Para resolver esto para plpython3, fue necesario:

  • Instala Python 3.2
  • Ejecutar CREATE LANGUAGE plpython3u

Actualización: He escrito una explicación mucho mejor aquí: https://.com/a/24218449/398670


Postgres usa las distribuciones ActiveState de Python. Lo más probable es que su versión 2.5 esté demasiado desactualizada y Postgres no pueda cargar el archivo plpython dll o no lo haya instalado porque no había un python adecuado. Creo que los postgres recientes son buil6 contra Python3 no 2.x. Puede buscar en el directorio lib de postgres plpython3.dll para encontrar lo que necesita.