Database¶
OpenECPDS uses a relational database to persist its operational records, configuration, access control and monitoring history. This page is a logical catalog of the tables in the base schema. It describes their purpose without listing columns or prescribing database maintenance procedures.
The catalog reflects the schema defined in docker/ecpds/database/ecpds.sql. The schema can change between releases; consult the source for the version you are investigating. The table set may also differ where a deployment has site-specific changes.
Transfers, files and products¶
| Table | Purpose |
|---|---|
DATA_FILE | Registered data files, including their source, arrival details, size and file-level metadata. |
DATA_TRANSFER | Transfer requests and their current scheduling, delivery, retry and expiry state. |
TRANSFER_HISTORY | Historical transfer attempts and their outcomes. |
UPLOAD_HISTORY | Records of completed data uploads and their transfer details. |
INCOMING_HISTORY | History of incoming-user and Data Portal file operations. |
TRANSFER_STATISTICS | Per-connection network statistics captured during a transfer. |
WEATHER_SENDING | Network Weather sending outcomes, including failures without socket measurements. |
WEATHER_CONNECTION | Connection records associated with Network Weather measurements. |
MONITORING_VALUE | Timing values used to monitor expected, earliest, latest and predicted product arrival. |
PRODUCT_STATUS | Current status and timing information for monitored products and cycles. |
PUBLICATION | Scheduled publication or notification work associated with a transfer. |
METADATA_ATTRIBUTE | Names of metadata attributes that can be attached to data files. |
METADATA_VALUE | Metadata attribute values associated with individual data files. |
PRODUCT_METADATA | Product descriptions and tips, optionally scoped by product type. |
Destinations, hosts and transfer configuration¶
| Table | Purpose |
|---|---|
DESTINATION | Destination definitions and their delivery or acquisition settings. |
ALIAS | Alternate destination names and their relationships to destinations. |
ASSOCIATION | Associations between destinations and hosts, including priority. |
DESTINATION_META_FIELD | Definitions for the configurable metadata fields shown on destinations. |
DESTINATION_META_FIELD_TYPE | Destination types for which a metadata field is available. |
DESTINATION_META_VALUE | Values of metadata fields for individual destinations. |
HOST | Host definitions, including connection, protocol, role and operational settings. |
HOS_ECU | Associations between hosts and ECPDS users. |
DES_ECU | Associations between destinations and ECPDS users. |
HOST_LOCATION | Host IP and geographic location information. |
HOST_OUTPUT | The latest captured output from host checks or acquisition activity. |
HOST_STATS | Host connection, transfer and check statistics. |
TRANSFER_GROUP | Groups of hosts and destinations with shared transfer and replication settings. |
TRANSFER_METHOD | Named transfer methods and their protocol-specific configuration. |
ECTRANS_MODULE | Transfer modules available to the system. |
TRANSFER_SERVER | Transfer server or Data Mover registrations and their group assignments. |
SCHEDULER_VALUE | Scheduler-maintained host counters and runtime state. |
COUNTRY | Country codes and display names used by destination and host records. |
Users, access and API clients¶
| Table | Purpose |
|---|---|
WEB_USER | Accounts used to sign in to the Monitoring Interface. |
CATEGORY | Access-control categories used to group permissions. |
WEU_CAT | Assignments of access-control categories to Monitoring Interface users. |
URL | Protected Monitoring Interface URL resources. |
CAT_URL | Assignments of URL resources to access-control categories. |
ECUSER | ECPDS service and operational user accounts. |
INCOMING_USER | Accounts used for incoming access and Data Portal services. |
INCOMING_ASSOCIATION | Assignments of incoming users to destinations. |
INCOMING_PERMISSION | File-operation permissions assigned to incoming users. |
INCOMING_POLICY | Reusable incoming-access policies. |
POLICY_ASSOCIATION | Assignments of incoming policies to destinations. |
POLICY_USER | Assignments of incoming policies to users. |
OPERATION | File operations that can be granted to incoming users. |
PORTAL_SUBSCRIBER | Email subscriptions associated with incoming-user accounts. |
API_CLIENT | API client identities and credential hashes. |
API_PERMISSION | Service access patterns granted to API clients. |
API_EVENT | API client usage and request outcomes. |
Monitoring, administration and audit¶
| Table | Purpose |
|---|---|
ACTIVITY | User activity context associated with recorded events. |
EVENT | Operational actions, comments and errors associated with user activity. |
CHANGE_LOG | Before-and-after records for changes to managed objects. |
OPERATIONAL_EVENT | Optional durable delivery outbox for native OpenTelemetry events; acknowledged records are deleted. |
SYSTEM_MESSAGE | Scheduled system messages displayed to users. |
DELAY_NOTICE | Registered delay notices and their status and content history. |
STORAGE_POLICY | Storage lifecycle policy definitions and their matching criteria. |
STORAGE_LIFECYCLE | Per-file lifecycle evaluation state, pinning details, eligibility times and reclamation results. |
STORAGE_POLICY_METRIC | Cumulative reclaimed-byte and dropped-replica metrics, plus the last application time, per storage policy. |
SYS_CONFIG | Named, shared system settings managed by OpenECPDS features. |
FEEDBACK | Feedback submitted through the Monitoring Interface. |
Statistics and traffic¶
| Table | Purpose |
|---|---|
BANDWIDTH | Aggregated transfer volume, duration and file counts by destination and date. |
PORTAL_TRAFFIC | Per-user portal connection, byte and duration totals at minute-level intervals. |
PORTAL_TRAFFIC_DAILY | Daily aggregates of portal connections, bytes and duration per user. |
PORTAL_BYTES_SNAPSHOT | Minute-level portal upload and download byte snapshots per user. |
DESTINATION_BYTES_SNAPSHOT | Minute-level upload and download byte snapshots per destination. |
MOVER_AVAILABILITY_SNAPSHOT | Minute-level availability history for Data Movers. |
How to read this catalog¶
This catalog is a database administration reference, not an end-user configuration interface. Use the Monitor UI or supported APIs to manage operational records. Table names and layouts can change between releases.
Do not load the destructive full installation dump into a populated database. Schema operations must follow the site's backup and database change procedures. Optional features report database-readiness problems on their administration pages.
SQL script timeouts¶
Administrators maintaining named SQL scripts in conf/sql can specify a timeout in whole seconds alongside their #menu, #name and #group directives:
Without this directive, the default statement timeout is unchanged. Use #timeout "0" to explicitly disable the statement timeout. Other database, driver and connection limits still apply. Use a single non-negative whole number of seconds. Invalid or duplicate directives reject the request.
Timeouts apply to selects, counts, mapped-object queries and updates. For scripts containing multiple statements or LOOP/CHUNK operations, the value applies to each statement, not to the total script duration. Timeout enforcement depends on the database driver; it does not limit connection waiting time.
After editing a loaded script, invoke updateScriptContent(menu, group, name) on the Master's database MBean to refresh that script, or reloadRepository() to reload the repository (including new scripts). The new SQL and timeout are used by subsequent requests without restarting; already running statements are unchanged.