Tags that require access to a relational database all take options to setup the connection. As an example, consider the ReportToDB mover, e.g.
<ReportToDB database_mode="postgres" database_name="interface_design" pq_schema="stage4"/>
where rosetta has been compiled with postgres support. The host , port , username , and password options are specified in a file ~/.pgpass
for security reasons.
If an option not provided, the options described below fall back on options in the option system replacing database_ with -inout:dbms:
transaction_mode : Specify when transactions should be committed to the database. A transaction groups together statements and executes them in a block. This is beneficial maintain database consistency for statements are semantically related. Also, by grouping statements together this cuts down on communication costs in client-server database setups. A risk of making too large of transactions is it requires hanging on to more data before passing it to the database. This wastes memory and, if there is a failure in the middle, then partial results aren't saved to the database.
commit()
causes a transaction to be committed.chunk_size : Number of transactions to group together before committing them to the database. NOTE: This is requires transaction_mode=chunk
.