ALTER DATABASESection: SQL Commands (7)Updated: 2003-11-02 |
ALTER DATABASESection: SQL Commands (7)Updated: 2003-11-02 |
ALTER DATABASE name SET parameter { TO | = } { value | DEFAULT }
ALTER DATABASE name RESET parameter
ALTER DATABASE name RENAME TO newname
ALTER DATABASE is used to change the attributes of a database.
The first two forms change the session default of a run-time configuration variable for a PostgreSQL database. Whenever a new session is subsequently started in that database, the specified value becomes the session default value. The database-specific default overrides whatever setting is present in postgresql.conf or has been received from the postmaster command line. Only the database owner or a superuser can change the session defaults for a database.
The third form changes the name of the database. Only the database owner can rename a database, and only if he has the CREATEDB privilege. The current database cannot be renamed. (Connect to a different database if you need to do that.)
See SET [set(7)] and the section called ``Run-time Configuration'' in the documentation for more information about allowed parameter names and values.
Using ALTER USER [alter_user(7)], it is also possible to tie a session default to a specific user rather than a database. User-specific settings override database-specific ones if there is a conflict.
To disable index scans by default in the database test:
ALTER DATABASE test SET enable_indexscan TO off;
The ALTER DATABASE statement is a PostgreSQL extension.