# Log-based and trigger-based capture modes

The log-based mode and the trigger-based mode are two different modes of capture.

| Capture mode | Description |
| --- | --- |
| Log-based | The journal (.JRN file) is created at the<br>installation step (during the [journalization](https://help.qlik.com/talend/r/en-US/7.3/change-data-capture-user-guide/journalizing-database)<br>process), in the selected directory.<br><br>The capture engine stores the transactions in the .JRN file and<br>those transactions are then read by the source engine.<br><br>Information noteNote: With an AS/400 IBMi source database, there is no<br>.JRN file. The capture engine<br>directly reads the database. |
| Trigger-based | A dd\_journal table of transaction logs<br>is created in each source database.<br><br>![](https://help.qlik.com/talend/en-US/change-data-capture-installation-guide/Resources/images/tcdc-trigger-ddjournal-table.png)<br><br>The capture engine reads transactions from this<br>intermediate table. They are then stored in the<br>.JRN file and deleted from the<br>intermediate table. Eventually, the source engine reads those<br>transactions.<br><br>Information noteNote: The source database may be triggered by other programs<br>than Talend Change Data Capture (for example, an ERP), and only one trigger can be<br>performed on a table. These limitations can raise<br>performance issues and have an impact on the user<br>profiles.<br><br><br>Trigger functions are created by Talend Change Data Captureand can be viewed in their database client management software,<br>next to the table or next to the database.<br><br>In case of structural<br>changes of the database (e.g. a column addition), it is possible<br>to rebuild the trigger manually, so that the database trigger<br>functions can take these changes into account.<br><br>To do so:<br>from Journal Management window,<br>right-click the table to access rebuild the<br>trigger. ![](https://help.qlik.com/talend/en-US/change-data-capture-installation-guide/Resources/images/tcdc-rebuild-trigger.png) |

## Support according to the source database

Some source databases support only one of the two modes:

* log-based mode only: AS/400 IBMi and Oracle between v10 and v19c (through the LogMiner),

* trigger-based mode only: PostgreSQL≥9.2, MySQL, MariaDB and Oracle between v8 and v10.

For all other source databases, both modes are supported.

Information noteNote: Oracle≥v10 support log-based as well as trigger-based modes.

Follow the requirements detailed for each source database, as they are different according to the capture mode.