README - detail on renaming IMMV + fix typo in drop IMMV

This commit is contained in:
qmitchell-aa 2025-03-12 09:15:29 -04:00 committed by GitHub
parent 437b2d22d7
commit c31d5ec9ab
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -300,7 +300,7 @@ test=# SELECT immvrelid AS immv, pgivm.get_immv_def(immvrelid) AS immv_def FROM
An IMMV can be dropped using the `DROP TABLE` command. Once an IMMV is dropped, its entry is automatically removed from the `pg_ivm_immv` catalog.
```sql
test=# DROP TABLE immv;
test=# DROP TABLE immv_agg;
DROP TABLE
test=# SELECT immvrelid AS immv, pgivm.get_immv_def(immvrelid) AS immv_def FROM pgivm.pg_ivm_immv;
@ -316,6 +316,27 @@ test=# SELECT immvrelid AS immv, pgivm.get_immv_def(immvrelid) AS immv_def FROM
(1 row)
```
### Renaming an IMMV
An IMMV can be renamed using the `ALTER TABLE` command. Once an IMMV is renamed, its entry is automatically renamed in the `pg_ivm_immv` catalog.
```sql
test=# ALTER TABLE immv_agg RENAME TO immv_agg2;
ALTER TABLE
test=# SELECT immvrelid AS immv, pgivm.get_immv_def(immvrelid) AS immv_def FROM pgivm.pg_ivm_immv;
immv | immv_def
-----------+--------------------------------------------
immv_agg2 | SELECT pgbench_accounts.bid, +
| count(*) AS count, +
| sum(pgbench_accounts.abalance) AS sum,+
| avg(pgbench_accounts.abalance) AS avg +
| FROM (pgbench_accounts +
| JOIN pgbench_branches USING (bid)) +
| GROUP BY pgbench_accounts.bid
(1 row)
```
## `pg_dump` and `pg_upgrade`
After restoring data from a `pg_dump` backup or upgrading `PostgreSQL` using `pg_upgrade`, all IMMVs must be manually dropped and recreated.