INGRESLOCK(8)

NAME
ingreslock - INGRES lock driver daemon

SYNOPSIS
ingreslock

DESCRIPTION
The ingreslock daemon provides database-level and relation-level concurrency control for the INGRES relational database management system. It manages lock requests from multiple INGRES processes to coordinate concurrent access to databases.

The daemon initializes a socket connection and then waits for lock requests from INGRES processes. Lock requests include acquiring and releasing locks at both the database level and the relation level.

The lock driver supports the following lock operations:

Database locks
    Prevent multiple incompatible operations on a database simultaneously. Utilities such as purge(1), restore(1), and sysmod(1) acquire exclusive database locks to prevent other access during maintenance operations.

Relation locks
    Provide finer-grained concurrency control at the individual relation level during normal INGRES operation.

The ingreslock daemon is typically started at system boot time before any INGRES processes are run. Concurrency control in INGRES databases created with creatdb(1) requires the lock daemon to be running. If the lock daemon is not running, concurrency control acts as though it is off, even for databases that have it enabled.

The lock request protocol supports the following actions:

1.  Request a lock (will fail if a conflicting lock is held).

2.  Release a specific lock.

3.  Release all locks held by the calling process.

DIAGNOSTICS
The daemon logs abnormal errors to standard error. Lock request failures (conflicting locks) are reported back to the requesting INGRES process.

SEE ALSO
creatdb(1), ingres(1), purge(1), restore(1), sysmod(1)

HISTORY
Originally part of UC Berkeley INGRES 8.9 (1988).