How does Snowflake handle the data retention period for a table if a stream has not been consumed?
How does Snowflake handle the data retention period for a table if a stream has not been consumed?
If a stream on a table has not been consumed, Snowflake temporarily extends the data retention period to match the stream's offset. This ensures the required data remains available for the stream, thus providing a temporary extension to the retention period.
https://docs.snowflake.com/en/user-guide/streams-intro
Snowflake handles the data retention period for a table such that if a stream has not been consumed, the data retention period is temporarily extended to the stream’s offset. This ensures that the data needed by the stream remains available for the duration of the stream’s offset.
If the data retention period for a table is less than 14 days, and a stream has not been consumed, Snowflake temporarily extends this period to prevent it from going stale. The period is extended to the stream’s offset, up to a maximum of 14 days by default, regardless of the Snowflake edition for your account. The maximum number of days for which Snowflake can extend the data retention period is determined by the MAX_DATA_EXTENSION_TIME_IN_DAYS parameter value. When the stream is consumed, the extended data retention period is reduced to the default period for the table.