meta data for this page
Databases
A database consists of a file (distribution across several files is possible). This file contains all tables, indices, user rights (Grants), foreign keys, stored procedures, triggers, etc.
Usual suffix: .fdb
This file must be stored on the same computer as the Firebird service itself. Access to a file server is technically impossible (regardless of whether via UNC names or a hard drive letter).
A database file will always get bigger, never smaller. The only possibility to reduce the size of a database file, is to perform a backup and restore.
Database string
In order to connect to a certain Firebird database, the client must enter the database string. This is composed of the following:
<servername> [/<port>] ":" <datenbank>
servername | Name of the database server in the TCP/IP network. |
port | Port number or IP service name, if the standard port 3050 is not to be used (see also firebird.conf). |
datenbank | Either the file name of the database. Important: This name must always be entered from the viewpoint of the database server's local file system (no clearance directory names or similar). The directory in which the database is stored must not require clearance in order to use it. or The name of the database alias, as defined in aliases.conf. |
The DatabaseAccess parameter in firebird.conf determines whether file names, aliases or both may be used.
The rules regarding case sensitivity conform to the server operating system. On a Linux server case sensitivity needs to be taken in consideration, on Windows it doesn't.
Example Windows server
The database server name is dbserver. The default port is used. The database file is stored on C:\DB\pmm.fdb:
dbserver:C:\DB\pmm.fdb
Example Linux server
The database server name is dbserver. The default port is used. The database file is stored on /db/pmm.fdb:
dbserver:/db/pmm.fdb
Example port number 3051
The database server name is dbserver. Port 3051 is to be used. The database file is stored on C:\DB\pmm.fdb:
dbserver/3051:C:\DB\pmm.fdb
If the port number is to a service name in the services file:
firebirdsql 3051/tcp
then the service name can be used instead of the port number:
dbserver/firebirdsql:C:\DB\pmm.fdb
See also:
Alias names
Entering the full database connection string with directory and file name is cumbersome and a potential security risk. For this reasons alias names can be defined on the server.
These can be defined in the aliases.conf file.
Here you can find alias specifications:
<aliasname> = <pfad- und dateiname>
Example
The database server name is dbserver. The default port is used. The database file is stored on /db/pmm.fdb, an alias name pmm is to be specified for the database.
aliases.conf definition:
pmm = /db/pmm.fdb
The database connection string is now:
dbserver:pmm
A combination with the syntax for port number or service name specification is also possible:
dbserver/3051:pmm
See also:
Owner, permissions
The database “owner” is the user that created the database (i.e. executed the CREATE DATABASE command). He kann grant permissions (read, write, execute) to other users (GRANT). If he does not GRANT any other users permissions, only the owner can perform DDL und DML operations.
In addition the SYSDBA user always has all permissions on all databases.
Only the SYSDBA or database owner can perform a backup or replace an existing database by a restore.