GNU/Linux |
CentOS 5.1 |
|
![]() |
alter_database(7) |
![]() |
ALTER DATABASE − change a database
ALTER DATABASE name [ [ WITH ] option [ ... ] ]
where option can be:
CONNECTION LIMIT connlimit
ALTER DATABASE
name SET parameter { TO | = } { value |
DEFAULT }
ALTER DATABASE name RESET parameter
ALTER DATABASE name RENAME TO newname
ALTER DATABASE name OWNER TO new_owner
ALTER DATABASE changes the attributes of a database.
The first form changes certain per-database settings. (See below for details.) Only the database owner or a superuser can change these settings.
The second and third forms change the session default for 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. Certain variables cannot be set this way, or can only be set by a superuser.
The fourth form changes the name of the database. Only the database owner or a superuser can rename a database; non-superuser owners must also have the CREATEDB privilege. The current database cannot be renamed. (Connect to a different database if you need to do that.)
The fifth form changes the owner of the database. To alter the owner, you must own the database and also be a direct or indirect member of the new owning role, and you must have the CREATEDB privilege. (Note that superusers have all these privileges automatically.)
name |
The name of the database whose attributes are to be altered. |
connlimit
How many concurrent connections can be made to this database. -1 means no limit.
parameter
value |
Set this database’s session default for the specified configuration parameter to the given value. If value is DEFAULT or, equivalently, RESET is used, the database-specific setting is removed, so the system-wide default setting will be inherited in new sessions. Use RESET ALL to clear all database-specific settings. |
See SET [set(7)] and the documentation for more information about allowed parameter names and values.
newname
The new name of the database.
new_owner
The new owner of the database.
It is also possible to tie a session default to a specific user rather than to a database; see ALTER USER [alter_user(7)]. 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.
CREATE DATABASE [create_database(7)], DROP DATABASE [drop_database(l)], SET [set(l)]
![]() |
alter_database(7) | ![]() |