Who Can Alter the Database
The ALTER DATABASE
statement can be executed by:
-
Users with the
ALTER DATABASE
privilege
The ALTER DATABASE
statement can be executed by:
Users with the ALTER DATABASE
privilege
ALTER DATABASE
ADD (FILE)
Adds secondary files to the database.It is necessary to specify the full path to the file and the name of the secondary file.The description for the secondary file is similar to the one given for the CREATE DATABASE
statement.
ADD DIFFERENCE FILE
Specifies the path and name of the difference file (or, delta file) that stores any mutations to the database whenever it is switched to the “copy-safe” mode.This clause does not add a file, but it configures name and path of the delta file when the database is in “copy-safe” mode.To change the existing setting, you should delete the previously specified description of the delta file using the DROP DIFFERENCE FILE
clause before specifying the new description of the delta file.If the path and name of the delta file are not configured, the file will have the same path and name as the database, but with the .delta
file extension.
Caution
|
If only a filename is specified, the delta file will be created in the current directory of the server.On Windows, this will be the system directory — a very unwise location to store volatile user files and contrary to Windows file system rules. |
DROP DIFFERENCE FILE
Deletes the description (path and name) of the difference file specified previously in the ADD DIFFERENCE FILE
clause.This does not delete a file, but DROP DIFFERENCE FILE
clears (resets) the path and name of the delta file from the database header.Next time the database is switched to the “copy-safe” mode, the default values will be used (i.e. the same path and name as those of the database, but with the .delta
extension).
BEGIN BACKUP
Switches the database to the “copy-safe” mode.ALTER DATABASE
with this clause freezes the main database file, making it possible to back it up safely using file system tools, even if users are connected and performing operations with data.Until the backup state of the database is reverted to NORMAL, all changes made to the database will be written to the delta (difference) file.
Important
|
Despite its name, the |
END BACKUP
Switches the database from the “copy-safe” mode to the normal mode.A statement with this clause merges the difference file with the main database file and restores the normal operation of the database.Once the END BACKUP
process starts, the conditions no longer exist for creating safe backups by means of file system tools.
Warning
|
Use of Making a safe backup with the gbak utility remains possible at all times, although it is not recommended running gbak while the database is in LOCKED or MERGE state. |
SET DEFAULT CHARACTER SET
Changes the default character set of the database.This change does not affect existing data or columns.The new default character set will only be used in subsequent DDL commands.To modify the default collation, use ALTER CHARACTER SET
on the default character set of the database.
ENCRYPT WITH
See Encrypting a Database in the Security chapter.
DECRYPT
See Decrypting a Database in the Security chapter.
SET LINGER TO
Sets the linger-delay.The linger-delay applies only to Firebird SuperServer, and is the number of seconds the server keeps a database file (and its caches) open after the last connection to that database was closed.This can help to improve performance at low cost, when the database is opened and closed frequently, by keeping resources “warm” for the next connection.
Note
|
This mode can be useful for web applications — without a connection pool — where connections to the database usually “live” for a very short time. |
Warning
|
The |
DROP LINGER
Drops the linger-delay (sets it to zero).Using DROP LINGER
is equivalent to using SET LINGER TO 0
.
Note
|
Dropping The same one-off override is also available through the Services API, using the tag
|
Warning
|
The |
SET DEFAULT SQL SECURITY
Specifies the default SQL SECURITY
option to apply at runtime for objects without the SQL Security property set.See also SQL Security in chapter Security.
ENABLE PUBLICATION
Enables publication of this database for replication.Replication begins (or continues) with the next transaction started after this transaction commits.
DISABLE PUBLICATION
Enables publication of this database for replication.Replication is disabled immediately after commit.
EXCLUDE … FROM PUBLICATION
Excludes tables from publication.If the INCLUDE ALL TO PUBLICATION
clause is used, all tables created afterward will also be replicated, unless overridden explicitly in the CREATE TABLE
statement.
INCLUDE … TO PUBLICATION
Includes tables to publication.If the INCLUDE ALL TO PUBLICATION
clause is used, all tables created afterward will also be replicated, unless overridden explicitly in the CREATE TABLE
statement.
Note
|
Replication
|
ALTER DATABASE
UsageAdding a secondary file to the database.As soon as 30000 pages are filled in the previous primary or secondary file, the Firebird engine will start adding data to the secondary file test4.fdb
.
ALTER DATABASE
ADD FILE 'D:\test4.fdb'
STARTING AT PAGE 30001;
Specifying the path and name of the delta file:
ALTER DATABASE
ADD DIFFERENCE FILE 'D:\test.diff';
Deleting the description of the delta file:
ALTER DATABASE
DROP DIFFERENCE FILE;
Switching the database to the “copy-safe” mode:
ALTER DATABASE
BEGIN BACKUP;
Switching the database back from the “copy-safe” mode to the normal operation mode:
ALTER DATABASE
END BACKUP;
Changing the default character set for a database to WIN1251
ALTER DATABASE
SET DEFAULT CHARACTER SET WIN1252;
Setting a linger-delay of 30 seconds
ALTER DATABASE
SET LINGER TO 30;
Encrypting the database with a plugin called DbCrypt
ALTER DATABASE
ENCRYPT WITH DbCrypt;
Decrypting the database
ALTER DATABASE
DECRYPT;
DROP DATABASE
Drops (deletes) the database of the current connection
DSQL, ESQL
DROP DATABASE
The DROP DATABASE
statement deletes the current database.Before deleting a database, you have to connect to it.The statement deletes the primary file, all secondary files and all shadow files.
Note
|
Contrary to |
The DROP DATABASE
statement can be executed by:
Users with the DROP DATABASE
privilege
DROP DATABASE
DROP DATABASE;