Ho cercato di trovare un'interfaccia di Postgres per python 2.x che supporti istruzioni realmente preparate, ma non riesco a trovare nulla. Non voglio uno che sfugge semplicemente le virgolette nei parametri che si passano e poi le interpola nella query prima di eseguirla. Qualcuno ha dei suggerimenti?Interfaccia da Python a Postgres con istruzioni realmente preparate?
5
A
risposta
0
uno sguardo al db module
esempi di web.py può essere trovato alla
2
O per Python3 o O per Python2.
Python-pgsql eseguirà anche questo ma non è protetto da thread. In particolare, SQLAlchemy non fa uso di dichiarazioni preparate.
0
Questi collegamenti suggeriscono la risposta quando si utilizza psycopg2. Non hai bisogno di estensioni API speciali.
- Re: psycopg2 and prepared statements
- Prepared Statements in Postgresql
- Transparently execute SQL queries as prepared statements with
Postgresql (Python recipe)
Ecco un esempio che ho giocato con. Una parola di cautela, però, non mi ha dato l'aumento delle prestazioni previsto che avevo sperato. In effetti, è stato anche più lento (solo leggermente) in un caso inventato in cui ho cercato di leggere l'intera tabella di un milione di righe, una riga alla volta.
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))
Problemi correlati
- 1. Per utilizzare le istruzioni preparate da PHP per Postgres
- 2. Istruzioni preparate da MySQLi con l'operatore IN
- 3. Registrazione di istruzioni SQL preparate nel driver jdbc postgres
- 4. Istruzioni preparate PDO - NULL
- 5. Ricorsione in istruzioni preparate
- 6. la sicurezza di istruzioni preparate da PD
- 7. PHP Istruzioni DOP preparate
- 8. Operazioni preparate con Postgres 8.4.3 su CentOS
- 9. DOP istruzioni preparate con caratteri jolly
- 10. Query con istruzioni preparate in Android?
- 11. Istruzioni preparate - Numero di righe
- 12. Istruzioni preparate e driver JDBC
- 13. istruzioni mysqli preparate e mysqli_real_escape_string
- 14. PHP ::: istruzioni preparate ::: freeresult() ::: close()
- 15. Disabilitazione delle istruzioni preparate in dbcp + spring + hibernate + jdbc?
- 16. Istruzioni preparate da MySQL rispetto alle prestazioni delle query semplici
- 17. Mettere i timeout sulle istruzioni preparate
- 18. Come utilizzare le istruzioni preparate in CodeIgniter
- 19. Nomi di colonne variabili utilizzando istruzioni preparate
- 20. Sostituzione mysql_ * funzioni con DOP e le istruzioni preparate
- 21. Liberare istruzioni preparate DOP (DEALLOCATE PREPARE)
- 22. Come faccio a disinfettare SQL senza utilizzare le istruzioni preparate
- 23. Come si creano istruzioni preparate con la gemma mysql2?
- 24. Differenza tra stored procedure e istruzioni preparate ...?
- 25. Posso usare istruzioni preparate per MySQL con PDO ora?
- 26. Quali token possono essere parametrizzati in istruzioni preparate con PDO?
- 27. La funzione NOW() di Datetime non funziona con le istruzioni preparate da PDO-MYSQL?
- 28. Genera istruzioni SQL con python
- 29. Prestazioni di istruzioni MySQL Insert in Java: istruzioni preparate in modalità batch rispetto a un singolo inserto con più valori
- 30. Le istruzioni preparate sono supportate in MySQL incorporato
Sarebbe utile sapere quali librerie sono state esaminate e rifiutate. –