Moving objects between schemas
Once you’ve created schemas for administration purposes, you’ll want to move existing objects to keep things tidy.
How to do it…
To move one table from its current schema to a new schema, use the following command:
ALTER TABLE cust
SET SCHEMA anotherschema;
If you want to move all objects, you can consider renaming the schema itself by using the following query:
ALTER SCHEMA existingschema RENAME TO anotherschema;
This only works if another schema with that name does not exist. Otherwise, you’ll need to run ALTER TABLE
for each table you want to move. You can follow the Performing actions on many tables recipe, earlier in this chapter, to achieve that.
Views, sequences, functions, aggregates, and domains can also be moved by ALTER
commands with SET SCHEMA
options.
How it works…
When you move tables to a new schema, all the indexes, triggers, and rules that have been defined on those...