I know that the documentation states:
Prepared statements only last for the duration of the current database session.
Is there any way way to either
- save a prepared statement
- create code which will regenerate a prepared statement?
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It only takes a minute to sign up.
Sign up to join this communityI know that the documentation states:
Prepared statements only last for the duration of the current database session.
Is there any way way to either
If I understand you correctly, you want to use functions.
Those are stored (with their code), their execution plans (may be) cached and so on. Plan caching is not so simple as it first sounds. Read https://www.postgresql.org/docs/current/static/plpgsql-implementation.html#PLPGSQL-PLAN-CACHING and the linked page about PREPARE
.
For the additional questions from your comments, PostgreSQL functions don't necessarily protect you from SQL injection. Building dynamic SQL statements the wrong way (using concatenation without proper quoting) can still open the possibility for such attacks.