-
Notifications
You must be signed in to change notification settings - Fork 16.3k
Added specialized insert_rows in PostgresHook which uses faster psycopg execute_batch method #54988
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
potiuk
merged 13 commits into
apache:main
from
dabla:feature/fast-insert-rows-postgres-hook
Aug 30, 2025
Merged
Added specialized insert_rows in PostgresHook which uses faster psycopg execute_batch method #54988
potiuk
merged 13 commits into
apache:main
from
dabla:feature/fast-insert-rows-postgres-hook
Aug 30, 2025
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…faster than executemany as it reduced the number of round trips with database
…rows of PostgresHook, if enabled, use optimized execute_batch from psycopg2, otherwise fallback to default implementation of DbApiHook
…ws_fast_executemany
potiuk
approved these changes
Aug 30, 2025
mangal-vairalkar
pushed a commit
to mangal-vairalkar/airflow
that referenced
this pull request
Aug 30, 2025
…pg execute_batch method (apache#54988) * refactor: Added specialized insert_rows in PostgresHook which is way faster than executemany as it reduced the number of round trips with database * refactor: Take into account the fast_executemany parameter in insert_rows of PostgresHook, if enabled, use optimized execute_batch from psycopg2, otherwise fallback to default implementation of DbApiHook * refactor: Fixed PostgresHook * refactor: Added test_insert_rows_fast_executemany * refactor: Reformatted insert_rows of PostgresHook * refactor: Patch _serialize_cells in test_insert_rows_fast_executemany * refactor: Try fixing test_insert_rows_fast_executemany * refactor: Removed mocking of _sanitize_cells method in test_insert_rows_fast_executemany
nothingmin
pushed a commit
to nothingmin/airflow
that referenced
this pull request
Sep 2, 2025
…pg execute_batch method (apache#54988) * refactor: Added specialized insert_rows in PostgresHook which is way faster than executemany as it reduced the number of round trips with database * refactor: Take into account the fast_executemany parameter in insert_rows of PostgresHook, if enabled, use optimized execute_batch from psycopg2, otherwise fallback to default implementation of DbApiHook * refactor: Fixed PostgresHook * refactor: Added test_insert_rows_fast_executemany * refactor: Reformatted insert_rows of PostgresHook * refactor: Patch _serialize_cells in test_insert_rows_fast_executemany * refactor: Try fixing test_insert_rows_fast_executemany * refactor: Removed mocking of _sanitize_cells method in test_insert_rows_fast_executemany
abdulrahman305 bot
pushed a commit
to abdulrahman305/airflow
that referenced
this pull request
Sep 30, 2025
…pg execute_batch method (apache#54988) * refactor: Added specialized insert_rows in PostgresHook which is way faster than executemany as it reduced the number of round trips with database * refactor: Take into account the fast_executemany parameter in insert_rows of PostgresHook, if enabled, use optimized execute_batch from psycopg2, otherwise fallback to default implementation of DbApiHook * refactor: Fixed PostgresHook * refactor: Added test_insert_rows_fast_executemany * refactor: Reformatted insert_rows of PostgresHook * refactor: Patch _serialize_cells in test_insert_rows_fast_executemany * refactor: Try fixing test_insert_rows_fast_executemany * refactor: Removed mocking of _sanitize_cells method in test_insert_rows_fast_executemany
abdulrahman305 bot
pushed a commit
to abdulrahman305/airflow
that referenced
this pull request
Oct 1, 2025
…pg execute_batch method (apache#54988) * refactor: Added specialized insert_rows in PostgresHook which is way faster than executemany as it reduced the number of round trips with database * refactor: Take into account the fast_executemany parameter in insert_rows of PostgresHook, if enabled, use optimized execute_batch from psycopg2, otherwise fallback to default implementation of DbApiHook * refactor: Fixed PostgresHook * refactor: Added test_insert_rows_fast_executemany * refactor: Reformatted insert_rows of PostgresHook * refactor: Patch _serialize_cells in test_insert_rows_fast_executemany * refactor: Try fixing test_insert_rows_fast_executemany * refactor: Removed mocking of _sanitize_cells method in test_insert_rows_fast_executemany
abdulrahman305 bot
pushed a commit
to abdulrahman305/airflow
that referenced
this pull request
Oct 2, 2025
…pg execute_batch method (apache#54988) * refactor: Added specialized insert_rows in PostgresHook which is way faster than executemany as it reduced the number of round trips with database * refactor: Take into account the fast_executemany parameter in insert_rows of PostgresHook, if enabled, use optimized execute_batch from psycopg2, otherwise fallback to default implementation of DbApiHook * refactor: Fixed PostgresHook * refactor: Added test_insert_rows_fast_executemany * refactor: Reformatted insert_rows of PostgresHook * refactor: Patch _serialize_cells in test_insert_rows_fast_executemany * refactor: Try fixing test_insert_rows_fast_executemany * refactor: Removed mocking of _sanitize_cells method in test_insert_rows_fast_executemany
abdulrahman305 bot
pushed a commit
to abdulrahman305/airflow
that referenced
this pull request
Oct 3, 2025
…pg execute_batch method (apache#54988) * refactor: Added specialized insert_rows in PostgresHook which is way faster than executemany as it reduced the number of round trips with database * refactor: Take into account the fast_executemany parameter in insert_rows of PostgresHook, if enabled, use optimized execute_batch from psycopg2, otherwise fallback to default implementation of DbApiHook * refactor: Fixed PostgresHook * refactor: Added test_insert_rows_fast_executemany * refactor: Reformatted insert_rows of PostgresHook * refactor: Patch _serialize_cells in test_insert_rows_fast_executemany * refactor: Try fixing test_insert_rows_fast_executemany * refactor: Removed mocking of _sanitize_cells method in test_insert_rows_fast_executemany
abdulrahman305 bot
pushed a commit
to abdulrahman305/airflow
that referenced
this pull request
Oct 4, 2025
…pg execute_batch method (apache#54988) * refactor: Added specialized insert_rows in PostgresHook which is way faster than executemany as it reduced the number of round trips with database * refactor: Take into account the fast_executemany parameter in insert_rows of PostgresHook, if enabled, use optimized execute_batch from psycopg2, otherwise fallback to default implementation of DbApiHook * refactor: Fixed PostgresHook * refactor: Added test_insert_rows_fast_executemany * refactor: Reformatted insert_rows of PostgresHook * refactor: Patch _serialize_cells in test_insert_rows_fast_executemany * refactor: Try fixing test_insert_rows_fast_executemany * refactor: Removed mocking of _sanitize_cells method in test_insert_rows_fast_executemany
abdulrahman305 bot
pushed a commit
to abdulrahman305/airflow
that referenced
this pull request
Oct 5, 2025
…pg execute_batch method (apache#54988) * refactor: Added specialized insert_rows in PostgresHook which is way faster than executemany as it reduced the number of round trips with database * refactor: Take into account the fast_executemany parameter in insert_rows of PostgresHook, if enabled, use optimized execute_batch from psycopg2, otherwise fallback to default implementation of DbApiHook * refactor: Fixed PostgresHook * refactor: Added test_insert_rows_fast_executemany * refactor: Reformatted insert_rows of PostgresHook * refactor: Patch _serialize_cells in test_insert_rows_fast_executemany * refactor: Try fixing test_insert_rows_fast_executemany * refactor: Removed mocking of _sanitize_cells method in test_insert_rows_fast_executemany
abdulrahman305 bot
pushed a commit
to abdulrahman305/airflow
that referenced
this pull request
Oct 5, 2025
…pg execute_batch method (apache#54988) * refactor: Added specialized insert_rows in PostgresHook which is way faster than executemany as it reduced the number of round trips with database * refactor: Take into account the fast_executemany parameter in insert_rows of PostgresHook, if enabled, use optimized execute_batch from psycopg2, otherwise fallback to default implementation of DbApiHook * refactor: Fixed PostgresHook * refactor: Added test_insert_rows_fast_executemany * refactor: Reformatted insert_rows of PostgresHook * refactor: Patch _serialize_cells in test_insert_rows_fast_executemany * refactor: Try fixing test_insert_rows_fast_executemany * refactor: Removed mocking of _sanitize_cells method in test_insert_rows_fast_executemany
abdulrahman305 bot
pushed a commit
to abdulrahman305/airflow
that referenced
this pull request
Oct 7, 2025
…pg execute_batch method (apache#54988) * refactor: Added specialized insert_rows in PostgresHook which is way faster than executemany as it reduced the number of round trips with database * refactor: Take into account the fast_executemany parameter in insert_rows of PostgresHook, if enabled, use optimized execute_batch from psycopg2, otherwise fallback to default implementation of DbApiHook * refactor: Fixed PostgresHook * refactor: Added test_insert_rows_fast_executemany * refactor: Reformatted insert_rows of PostgresHook * refactor: Patch _serialize_cells in test_insert_rows_fast_executemany * refactor: Try fixing test_insert_rows_fast_executemany * refactor: Removed mocking of _sanitize_cells method in test_insert_rows_fast_executemany
abdulrahman305 bot
pushed a commit
to abdulrahman305/airflow
that referenced
this pull request
Oct 8, 2025
…pg execute_batch method (apache#54988) * refactor: Added specialized insert_rows in PostgresHook which is way faster than executemany as it reduced the number of round trips with database * refactor: Take into account the fast_executemany parameter in insert_rows of PostgresHook, if enabled, use optimized execute_batch from psycopg2, otherwise fallback to default implementation of DbApiHook * refactor: Fixed PostgresHook * refactor: Added test_insert_rows_fast_executemany * refactor: Reformatted insert_rows of PostgresHook * refactor: Patch _serialize_cells in test_insert_rows_fast_executemany * refactor: Try fixing test_insert_rows_fast_executemany * refactor: Removed mocking of _sanitize_cells method in test_insert_rows_fast_executemany
abdulrahman305 bot
pushed a commit
to abdulrahman305/airflow
that referenced
this pull request
Oct 9, 2025
…pg execute_batch method (apache#54988) * refactor: Added specialized insert_rows in PostgresHook which is way faster than executemany as it reduced the number of round trips with database * refactor: Take into account the fast_executemany parameter in insert_rows of PostgresHook, if enabled, use optimized execute_batch from psycopg2, otherwise fallback to default implementation of DbApiHook * refactor: Fixed PostgresHook * refactor: Added test_insert_rows_fast_executemany * refactor: Reformatted insert_rows of PostgresHook * refactor: Patch _serialize_cells in test_insert_rows_fast_executemany * refactor: Try fixing test_insert_rows_fast_executemany * refactor: Removed mocking of _sanitize_cells method in test_insert_rows_fast_executemany
abdulrahman305 bot
pushed a commit
to abdulrahman305/airflow
that referenced
this pull request
Oct 10, 2025
…pg execute_batch method (apache#54988) * refactor: Added specialized insert_rows in PostgresHook which is way faster than executemany as it reduced the number of round trips with database * refactor: Take into account the fast_executemany parameter in insert_rows of PostgresHook, if enabled, use optimized execute_batch from psycopg2, otherwise fallback to default implementation of DbApiHook * refactor: Fixed PostgresHook * refactor: Added test_insert_rows_fast_executemany * refactor: Reformatted insert_rows of PostgresHook * refactor: Patch _serialize_cells in test_insert_rows_fast_executemany * refactor: Try fixing test_insert_rows_fast_executemany * refactor: Removed mocking of _sanitize_cells method in test_insert_rows_fast_executemany
abdulrahman305 bot
pushed a commit
to abdulrahman305/airflow
that referenced
this pull request
Oct 11, 2025
…pg execute_batch method (apache#54988) * refactor: Added specialized insert_rows in PostgresHook which is way faster than executemany as it reduced the number of round trips with database * refactor: Take into account the fast_executemany parameter in insert_rows of PostgresHook, if enabled, use optimized execute_batch from psycopg2, otherwise fallback to default implementation of DbApiHook * refactor: Fixed PostgresHook * refactor: Added test_insert_rows_fast_executemany * refactor: Reformatted insert_rows of PostgresHook * refactor: Patch _serialize_cells in test_insert_rows_fast_executemany * refactor: Try fixing test_insert_rows_fast_executemany * refactor: Removed mocking of _sanitize_cells method in test_insert_rows_fast_executemany
abdulrahman305 bot
pushed a commit
to abdulrahman305/airflow
that referenced
this pull request
Oct 12, 2025
…pg execute_batch method (apache#54988) * refactor: Added specialized insert_rows in PostgresHook which is way faster than executemany as it reduced the number of round trips with database * refactor: Take into account the fast_executemany parameter in insert_rows of PostgresHook, if enabled, use optimized execute_batch from psycopg2, otherwise fallback to default implementation of DbApiHook * refactor: Fixed PostgresHook * refactor: Added test_insert_rows_fast_executemany * refactor: Reformatted insert_rows of PostgresHook * refactor: Patch _serialize_cells in test_insert_rows_fast_executemany * refactor: Try fixing test_insert_rows_fast_executemany * refactor: Removed mocking of _sanitize_cells method in test_insert_rows_fast_executemany
abdulrahman305 bot
pushed a commit
to abdulrahman305/airflow
that referenced
this pull request
Oct 14, 2025
…pg execute_batch method (apache#54988) * refactor: Added specialized insert_rows in PostgresHook which is way faster than executemany as it reduced the number of round trips with database * refactor: Take into account the fast_executemany parameter in insert_rows of PostgresHook, if enabled, use optimized execute_batch from psycopg2, otherwise fallback to default implementation of DbApiHook * refactor: Fixed PostgresHook * refactor: Added test_insert_rows_fast_executemany * refactor: Reformatted insert_rows of PostgresHook * refactor: Patch _serialize_cells in test_insert_rows_fast_executemany * refactor: Try fixing test_insert_rows_fast_executemany * refactor: Removed mocking of _sanitize_cells method in test_insert_rows_fast_executemany
abdulrahman305 bot
pushed a commit
to abdulrahman305/airflow
that referenced
this pull request
Oct 15, 2025
…pg execute_batch method (apache#54988) * refactor: Added specialized insert_rows in PostgresHook which is way faster than executemany as it reduced the number of round trips with database * refactor: Take into account the fast_executemany parameter in insert_rows of PostgresHook, if enabled, use optimized execute_batch from psycopg2, otherwise fallback to default implementation of DbApiHook * refactor: Fixed PostgresHook * refactor: Added test_insert_rows_fast_executemany * refactor: Reformatted insert_rows of PostgresHook * refactor: Patch _serialize_cells in test_insert_rows_fast_executemany * refactor: Try fixing test_insert_rows_fast_executemany * refactor: Removed mocking of _sanitize_cells method in test_insert_rows_fast_executemany
abdulrahman305 bot
pushed a commit
to abdulrahman305/airflow
that referenced
this pull request
Oct 17, 2025
…pg execute_batch method (apache#54988) * refactor: Added specialized insert_rows in PostgresHook which is way faster than executemany as it reduced the number of round trips with database * refactor: Take into account the fast_executemany parameter in insert_rows of PostgresHook, if enabled, use optimized execute_batch from psycopg2, otherwise fallback to default implementation of DbApiHook * refactor: Fixed PostgresHook * refactor: Added test_insert_rows_fast_executemany * refactor: Reformatted insert_rows of PostgresHook * refactor: Patch _serialize_cells in test_insert_rows_fast_executemany * refactor: Try fixing test_insert_rows_fast_executemany * refactor: Removed mocking of _sanitize_cells method in test_insert_rows_fast_executemany
abdulrahman305 bot
pushed a commit
to abdulrahman305/airflow
that referenced
this pull request
Oct 19, 2025
…pg execute_batch method (apache#54988) * refactor: Added specialized insert_rows in PostgresHook which is way faster than executemany as it reduced the number of round trips with database * refactor: Take into account the fast_executemany parameter in insert_rows of PostgresHook, if enabled, use optimized execute_batch from psycopg2, otherwise fallback to default implementation of DbApiHook * refactor: Fixed PostgresHook * refactor: Added test_insert_rows_fast_executemany * refactor: Reformatted insert_rows of PostgresHook * refactor: Patch _serialize_cells in test_insert_rows_fast_executemany * refactor: Try fixing test_insert_rows_fast_executemany * refactor: Removed mocking of _sanitize_cells method in test_insert_rows_fast_executemany
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added specialized insert_rows in PostgresHook which is way user faster using psycopg execute_batch method instead of executemany as it reduces the number of round trips with database.
The insert_rows method of PostgresHook takes into account the fast_executemany parameter, if enabled, it will use the optimized execute_batch from psycopg2, otherwise it will fallback to the default implementation of DbApiHook
^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named
{pr_number}.significant.rstor{issue_number}.significant.rst, in airflow-core/newsfragments.