> ## Documentation Index
> Fetch the complete documentation index at: https://risingwavelabs-wyx-add-timestamp-dedicated-page.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# ALTER MATERIALIZED VIEW

> The `ALTER MATERIALIZED VIEW` command modifies the metadata of a materialized view. To use this command, you must own the materialized view.

<Note>
  INFO

  To modify the SQL definition of a materialized view, please refer to [Alter a streaming job](/operate/alter-streaming).
</Note>

## Syntax

```sql theme={null}
ALTER MATERIALIZED VIEW materialized_view_name
    alter_option;
```

*`alter_option`* depends on the operation you want to perform on the materialized view. For all supported clauses, see the sections below.

## Clause

### `OWNER TO`

```sql theme={null}
ALTER MATERIALIZED VIEW materialized_view_name
    OWNER TO new_user;
```

| Parameter or clause | Description                                                                                                                          |
| :------------------ | :----------------------------------------------------------------------------------------------------------------------------------- |
| **OWNER TO**        | This clause changes the owner of the materialized view. Note that this will cascadingly change all related internal objects as well. |
| *new\_user*         | The new owner you want to assign to the materialized view.                                                                           |

```
-- Change the owner of the materialized view named "materialized_view1" to user "user1"
ALTER MATERIALIZED VIEW materialized_view1 OWNER TO user1;
```

### `SET SCHEMA`

```sql theme={null}
ALTER MATERIALIZED VIEW materialized_view_name
    SET SCHEMA schema_name;
```

| Parameter or clause | Description                                                          |
| :------------------ | :------------------------------------------------------------------- |
| **SET SCHEMA**      | This clause moves the materialized view to a different schema.       |
| *schema\_name*      | The name of the schema to which the materialized view will be moved. |

```sql theme={null}
-- Move the materialized view named "test_materialized_view" to the schema named "test_schema"
ALTER MATERIALIZED VIEW test_materialized_view SET SCHEMA test_schema;
```

### `SET PARALLELISM`

```sql theme={null}
ALTER MATERIALIZED VIEW materialized_view_name
SET PARALLELISM { TO | = } parallelism_number;
```

| Parameter or clause | Description                                                                                                                                                                                                             |
| :------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **SET PARALLELISM** | This clause controls the degree of [parallelism](/reference/key-concepts#parallelism) for the targeted [streaming job](/reference/key-concepts#streaming-queries).                                                      |
| parallelism\_number | Can be ADAPTIVE or a fixed number (e.g., 1, 2, 3). Setting it to ADAPTIVE expands the job's parallelism to all available units, while a fixed number locks it at that value. Setting it to 0 is equivalent to ADAPTIVE. |

```sql theme={null}
-- Set the parallelism of the materialized view "m_join" to 3.
ALTER MATERIALIZED VIEW m_join SET PARALLELISM = 3;
```

### `RENAME TO`

```sql theme={null}
ALTER MATERIALIZED VIEW materialized_view_name
    RENAME TO new_name;
```

| Parameter or clause | Description                                            |
| :------------------ | :----------------------------------------------------- |
| **RENAME TO**       | This clause changes the name of the materialized view. |
| *new\_name*         | The new name of the materialized view.                 |

```sql theme={null}
-- Change the name of the materialized view named "mv_1" to "mv_2"
ALTER MATERIALIZED VIEW mv_1 RENAME TO mv_2;
```

### `SET BACKFILL_RATE_LIMIT`

```sql theme={null}
ALTER MATERIALIZED VIEW mv_name
    SET BACKFILL_RATE_LIMIT { TO | = } { default | rate_limit_number };
```

This statement controls the rate limit of a newly created materialized view's backfilling process from upstream materialized views and sources.
For the specific value of `BACKFILL_RATE_LIMIT`, refer to [How to view runtime parameters](/operate/view-configure-runtime-parameters/#how-to-view-runtime-parameters).

```sql Examples theme={null}
-- Pause the backfill
ALTER MATERIALIZED VIEW mv1 SET BACKFILL_RATE_LIMIT=0;

-- Set backfill rate limit to 1
ALTER MATERIALIZED VIEW mv1 SET BACKFILL_RATE_LIMIT=1;

-- Disable the backfill rate limit
ALTER MATERIALIZED VIEW mv1 SET BACKFILL_RATE_LIMIT=DEFAULT;
```

<Note>
  To modify the rate limit of the sources used in the materialized view, please refer to [SET SOURCE\_RATE\_LIMIT](/sql/commands/sql-alter-source#set-source-rate-limit).
</Note>

### `SWAP WITH`

```sql theme={null}
ALTER MATERIALIZED VIEW name
SWAP WITH target_name;
```

| Parameter      | Description                                                     |
| :------------- | :-------------------------------------------------------------- |
| *name*         | The current name of the materialized view to swap.              |
| *target\_name* | The target name of the materialized view you want to swap with. |

```sql theme={null}
-- Swap the names of the sales_summary materialized view and the sales_archive materialized view.
ALTER MATERIALIZED VIEW sales_summary
SWAP WITH sales_archive;
```
