He estado tratando de encontrar una interfaz postgres para python 2.x que admita las declaraciones reales preparadas, pero parece que no puede encontrar nada. No quiero uno que simplemente escape las comillas en los params que pase y luego los interpola en la consulta antes de ejecutarlo. ¿Alguien tiene alguna sugerencia?Interfaz de Python a Postgres con declaraciones reales preparadas?
5
A
Respuesta
0
echar un vistazo a db module
ejemplos de web.py se puede encontrar en
2
O py-postgresql para Python3 o pg_proboscis para Python2 hará esto.
Python-pgsql también lo hará, pero no es seguro para la rosca. Notablemente, SQLAlchemy no hace uso de declaraciones preparadas.
0
Estos enlaces indican la respuesta al usar psycopg2. No necesita extensiones de API especiales.
- Re: psycopg2 and prepared statements
- Prepared Statements in Postgresql
- Transparently execute SQL queries as prepared statements with
Postgresql (Python recipe)
Aquí hay un ejemplo que he jugado con. Sin embargo, una palabra de precaución, no me dio el aumento de rendimiento esperado que esperaba. De hecho, fue incluso más lento (solo un poco) en un caso artificial donde traté de leer toda la tabla de un millón de filas, una fila a la vez.
cur.execute('''
PREPARE prepared_select(text, int) AS
SELECT * FROM test
WHERE (name = $1 and rowid > $2) or name > $1
ORDER BY name, rowid
LIMIT 1
''')
name = ''
rowid = 0
cur.execute('EXECUTE prepared_select(%s, %s)', (name, rowid))
Cuestiones relacionadas
- 1. Para usar declaraciones preparadas por PHP para Postgres
- 2. ¿Inyecciones SQL con declaraciones preparadas?
- 3. Cierre de declaraciones preparadas
- 4. mysql declaraciones preparadas permanentemente
- 5. Recursividad en declaraciones preparadas
- 6. Uso de declaraciones preparadas con JDBCTemplate
- 7. Declaraciones preparadas en VB.NET
- 8. ¿Puedo usar declaraciones preparadas reales para MySQL con PDO ahora? Hace
- 9. Transacciones preparadas con Postgres 8.4.3 en CentOS
- 10. Declaraciones preparadas junto con Connection Pooling
- 11. Son declaraciones preparadas compatibles con MySQL incorporado
- 12. Consultas con declaraciones preparadas en Android?
- 13. Declaraciones preparadas MySQLi con el operador IN
- 14. Declaraciones preparadas de PHP PDO
- 15. PDO, Mysql y declaraciones preparadas nativas
- 16. ¿Cuándo * no * usar declaraciones preparadas?
- 17. Declaraciones preparadas MySQLi error reporting
- 18. ¿Cómo funcionan las declaraciones preparadas?
- 19. declaraciones preparadas sqlite - cómo depurar
- 20. Declaraciones preparadas y controladores JDBC
- 21. declaraciones preparadas de mysqli y mysqli_real_escape_string
- 22. ¿Cómo se utiliza en las cláusulas con mysqli declaraciones preparadas
- 23. Declaraciones y transacciones preparadas de MySQL
- 24. Nombres de columnas variables usando declaraciones preparadas
- 25. Spring NamedParameterJDBCTemplate reutilización de las declaraciones preparadas
- 26. ¿Las declaraciones preparadas ralentizan notablemente el programa?
- 27. ¿Qué tokens se pueden parametrizar en declaraciones preparadas con PDO?
- 28. ¿Es necesario mysql_real_escape_string() al usar declaraciones preparadas?
- 29. ¿Las declaraciones preparadas dinámicas son malas? (con php + mysqli)
- 30. ¿Cómo insertar múltiples filas en una base de datos mysql a la vez con declaraciones preparadas?
Sería útil saber qué bibliotecas ha examinado y rechazado. –