Class: Service
Defined in: packages/core/src/services/service.ts:53
A connection to the Firebird Service Manager (service_mgr). Supports server metadata queries and streaming service actions (e.g. database statistics). Uses the same SRP handshake + wire crypt as a normal attachment. Call disconnect() when done.
Methods
backup()
backup(database, backupFile): Promise<string>;Defined in: packages/core/src/services/service.ts:146
Back up a database with server-side gbak. BOTH paths are SERVER paths — the .fbk is written on the server machine, not transferred to the client. Runs verbose and drains the gbak log to completion (the log is returned) — that is also what signals the service is done.
Parameters
| Parameter | Type |
|---|---|
database | string |
backupFile | string |
Returns
Promise<string>
disconnect()
disconnect(): Promise<void>;Defined in: packages/core/src/services/service.ts:280
Returns
Promise<void>
getServerInfo()
getServerInfo(): Promise<ServerInfo>;Defined in: packages/core/src/services/service.ts:99
Query the server for version, implementation and security-db path.
Returns
Promise<ServerInfo>
getStatistics()
getStatistics(database): Promise<string>;Defined in: packages/core/src/services/service.ts:130
Retrieve database statistics (gstat) as text, streamed to completion.
Parameters
| Parameter | Type |
|---|---|
database | string |
Returns
Promise<string>
nbackup()
nbackup(
database,
backupFile,
options?): Promise<string>;Defined in: packages/core/src/services/service.ts:191
Physical incremental backup via server-side nbackup — the fast path for multi-GB maintenance windows (page-level copy, database stays online), where gbak is a logical dump. BOTH paths are SERVER paths. Level 0 is a full physical copy; level n captures pages changed since the last level n−1 backup. FB4+ can address the base backup by GUID (from RDB$BACKUP_HISTORY) instead of a level. Returns the (usually empty) service output; completion is signaled by output EOF.
await svc.nbackup('/data/app.fdb', '/backups/app.nbk0', { level: 0 });
await svc.nbackup('/data/app.fdb', '/backups/app.nbk1', { level: 1 });Parameters
| Parameter | Type |
|---|---|
database | string |
backupFile | string |
options | NBackupOptions |
Returns
Promise<string>
nrestore()
nrestore(
backupFiles,
database,
options?): Promise<string>;Defined in: packages/core/src/services/service.ts:217
Restore an nbackup chain (level 0 file first, then each delta in order) into a NEW database — the target must not exist; nbackup never overwrites. All paths are SERVER paths.
await svc.nrestore(['/backups/app.nbk0', '/backups/app.nbk1'], '/data/restored.fdb');Parameters
| Parameter | Type |
|---|---|
backupFiles | string[] |
database | string |
options | NRestoreOptions |
Returns
Promise<string>
restore()
restore(
backupFile,
database,
options?): Promise<string>;Defined in: packages/core/src/services/service.ts:161
Restore a server-side .fbk into a database (both paths on the server). Creates the target by default (fails if it exists); replace: true overwrites an existing database. Returns the verbose gbak log.
Parameters
| Parameter | Type |
|---|---|
backupFile | string |
database | string |
options | { pageSize?: number; replace?: boolean; } |
options.pageSize? | number |
options.replace? | boolean |
Returns
Promise<string>
serviceInfo()
serviceInfo(
resultItems,
sendSpb?,
bufferLength?): Promise<Buffer<ArrayBufferLike>>;Defined in: packages/core/src/services/service.ts:242
Low-level: one op_service_info round trip; returns the info buffer. Wire order (protocol.cpp): p_info_items (a send-SPB, usually empty), then p_info_recv_items (the isc_info_svc_* codes we want back).
Parameters
| Parameter | Type | Default value |
|---|---|---|
resultItems | Buffer | undefined |
sendSpb | Buffer | ... |
bufferLength | number | 65535 |
Returns
Promise<Buffer<ArrayBufferLike>>
serviceStart()
serviceStart(spb): Promise<void>;Defined in: packages/core/src/services/service.ts:229
Low-level: start an arbitrary service action from a raw SPB.
Parameters
| Parameter | Type |
|---|---|
spb | Buffer |
Returns
Promise<void>
connect()
static connect(raw): Promise<Service>;Defined in: packages/core/src/services/service.ts:68
Parameters
| Parameter | Type |
|---|---|
raw | ServiceConnectOptions |
Returns
Promise<Service>