Manage the Semarchy xDM Native App
This page provides SQL commands for monitoring, operating, and maintaining the Semarchy Native App on Snowflake.
|
The Native App supports two repository modes:
Repository-related commands on this page apply only to the embedded repository mode. For more information on repository modes, see Install:snowflake/deploy-in-snowflake.adoc#select_the_repository_mode. |
| The README file available in the Native App settings provides usage examples for each procedure. |
Initial setup and verification
Configure parameters
To update Native App configuration parameters, run:
CALL <native_app_name>.xdm_public.reload_app(<params>);
The <params> argument is a JSON object (VARIANT) containing configuration keys used to update the Native App configuration. These keys are grouped into two categories:
-
Application configuration parameters, which control how the Native App runs.
-
Repository connection parameters, which define how the Native App connects to the repository in external repository mode.
Application configuration parameters
Key |
Description |
|
The size (in GB) of the block storage volume for the repository container (default: |
|
The maximum input/output operations per second (IOPS) supported for the repository storage (default: |
|
The peak throughput (in MiB/s) supported for the repository storage (default: |
|
Additional JVM options for the Semarchy application container. |
|
The allowed origins for the UI endpoint. Required to enable CORS. |
|
The allowed HTTP methods for CORS. |
|
The allowed request headers for CORS. |
|
The response headers exposed to the browser. |
* Storage-related parameters apply only to the embedded repository mode and are ignored when using an external repository.
Repository connection parameters
Key |
Description |
|
The JDBC URL of the external repository. If |
|
The PostgreSQL user for the repository. Stored as a Snowflake Secret. If not provided, the previously saved value is retained. Can be cleared by passing |
|
The password for the repository user. Stored as a Snowflake Secret. If not provided, the previously saved value is retained. Can be cleared by passing |
|
The PostgreSQL read-only user. Stored as a Snowflake Secret. If not provided, the previously saved value is retained. Can be cleared by passing |
|
The password for the read-only user. Stored as a Snowflake Secret. If not provided, the previously saved value is retained. Can be cleared by passing |
|
Parameter behavior
For each key in
|
Monitor the Native App
Check service status
To check the status of the Native App services, run:
CALL <native_app_name>.xdm_public.service_status();
View application logs
To display logs from the xDM application container:
CALL <native_app_name>.xdm_public.xdm_server_logs([<number_of_lines>]);
View repository logs
To display logs from the repository container (embedded repository mode only):
CALL <native_app_name>.xdm_public.xdm_repo_logs([<number_of_lines>]);
| In external repository mode, repository logs are not available through Native App procedures. Logs must be accessed through the database platform hosting the external repository. |
Backup and restore
|
Repository backup and restore operations are available only in embedded repository mode. When using an external repository, backup and recovery must be managed using the capabilities of the database platform hosting the repository. |
Create a backup
To create a backup of the embedded repository, run:
CALL <native_app_name>.xdm_public.xdm_repo_backup(<backup_name>);
|
To ensure the backup operation succeeds, the backup name must follow Snowflake identifier naming rules. It must start with a letter and may contain only letters, numbers, and underscores; spaces, hyphens, and other special characters are not allowed. For more information, see the official Snowflake documentation. |
Application lifecycle management
Suspend
To temporarily suspend all containers of the Native App, run:
CALL <native_app_name>.xdm_public.suspend_app();
Resume
To resume the Native App containers, run:
CALL <native_app_name>.xdm_public.resume_app();
| Resuming the Native App may upgrade the Native App containers to the latest available version. |
Reload
To restart the Native App and apply updated configuration parameters, run:
CALL <native_app_name>.xdm_public.reload_app(<params>);
The <params> argument is a JSON object (VARIANT) containing configuration keys.
For a list of supported parameters and their behavior, see Configure parameters.
When using reload_app, only the provided parameters are updated; all others retain their previously saved values.
|
Native App upgrade
Patch upgrades of the Native App are handled automatically. Configuration parameters are preserved and reapplied during upgrades.
Manual reload
To manually trigger a reload of the Native App (for example, to apply new configuration parameters), run:
CALL <native_app_name>.xdm_public.reload_app(<params>);
For more information about the supported parameters, see Configure parameters.