Core and Enterprise changefeeds offer different levels of configurability. Enterprise changefeeds allow for active changefeed jobs to be paused, resumed, and canceled.
Create a changefeed (Core)
A core changefeed streams row-level changes to the client indefinitely until the underlying connection is closed or the changefeed is canceled.
To create a core changefeed:
> EXPERIMENTAL CHANGEFEED FOR name;
For more information, see EXPERIMENTAL CHANGEFEED FOR
.
Configure a changefeed (Enterprise)
An Enterprise changefeed streams row-level changes in a configurable format to a configurable sink (i.e., Kafka or a cloud storage sink). You can create, pause, resume, and cancel an Enterprise changefeed.
Create
To create an Enterprise changefeed:
> CREATE CHANGEFEED FOR TABLE table_name, table_name2 INTO '{scheme}://{host}:{port}?{query_parameters}';
Parameters should always be URI-encoded before they are included the changefeed's URI, as they often contain special characters. Use Javascript's encodeURIComponent function or Go language's url.QueryEscape function to URI-encode the parameters. Other languages provide similar functions to URI-encode special characters.
For more information, see CREATE CHANGEFEED
.
Pause
To pause an Enterprise changefeed:
> PAUSE JOB job_id;
For more information, see PAUSE JOB
.
Resume
To resume a paused Enterprise changefeed:
> RESUME JOB job_id;
For more information, see RESUME JOB
.
Cancel
To cancel an Enterprise changefeed:
> CANCEL JOB job_id;
For more information, see CANCEL JOB
.
Configuring all changefeeds
It is useful to be able to pause all running changefeeds during troubleshooting, testing, or when a decrease in CPU load is needed.
To pause all running changefeeds:
PAUSE JOBS (SELECT * FROM [SHOW CHANGEFEED JOBS] WHERE status = ('running'));
This will change the status for each of the running changefeeds to paused
, which can be verified with SHOW CHANGEFEED JOBS
.
To resume all running changefeeds:
RESUME JOBS (SELECT * FROM [SHOW CHANGEFEED JOBS] WHERE status = ('paused'));
This will resume the changefeeds and update the status for each of the changefeeds to running
.