Service Management¶
This extension provides a uniform way of managing services like omni_httpd in a general way. For example, you want to stop all running services? You don't need to care how these particular services implement such functionality. You simply do something like:
omni_service is a templated extension
omni_service is a templated extension. This means that by installing it, none of the intended objects are provisioned, but that can be done by instantiating a template:
Service Listing¶
current_services table shows the list of services along with their current status.
| Name | Type | Description |
|---|---|---|
| name | text | The unique identifier for the service |
| info | jsonb | Additional metadata or configuration details for the service |
| state | service_state | The current operational state of the service (one of not-running, running, or stopped) |
Starting and Stopping a Service¶
service_start(name) and omni_service.service_stop(name) will respectively start and stop
a service if it is in the right state.
Every such operation is logged in the service_operations table:
| Name | Type | Description |
|---|---|---|
| name | text | The unique identifier of the service to which this operation applies |
| postmaster_start_time | timestamptz | The database server start time, referencing the services table |
| operation | service_operation | The type of operation performed (e.g., start or stop) |
| applied_at | timestamptz | The timestamp when the operation was recorded |