Bits, Bytes, & Radio Waves

A quiet journey through discovery and understanding.

SDDC Manager Database

Overview

This post is for educational purposes only and none of whats written will be supported by VMware by Broadcom.


Connect to SDDC Manager

Connect to the SDDC Manager appliance via SSH with the vcf user.

ssh vcf@<appiance-ip-or-fqdn>

Switch to the root user.

su

Access the Database

Log in with the default credentials.

psql -h localhost -U postgres
psql (13.12)
Type "help" for help.

postgres=# 

To list the various databases:

\l
postgres=# \l
                                       List of databases
       Name        |  Owner   | Encoding |   Collate   |    Ctype    |    Access privileges     
-------------------+----------+----------+-------------+-------------+--------------------------
 domainmanager     | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =Tc/postgres            +
                   |          |          |             |             | postgres=CTc/postgres   +
                   |          |          |             |             | domainmanager=C/postgres
 lcm               | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =Tc/postgres            +
                   |          |          |             |             | postgres=CTc/postgres   +
                   |          |          |             |             | lcm=C/postgres
 operationsmanager | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =Tc/postgres            +
                   |          |          |             |             | postgres=CTc/postgres   +
                   |          |          |             |             | opsmgr=C/postgres
 platform          | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =Tc/postgres            +
                   |          |          |             |             | postgres=CTc/postgres   +
                   |          |          |             |             | platform=C/postgres
 postgres          | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 sddc_manager_ui   | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =Tc/postgres            +
                   |          |          |             |             | postgres=CTc/postgres   +
                   |          |          |             |             | vcfui=C/postgres
 template0         | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres             +
                   |          |          |             |             | postgres=CTc/postgres
 template1         | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres             +
                   |          |          |             |             | postgres=CTc/postgres
(8 rows)

postgres=# 

The following table provides a brief description of each table.

NameDescription
domainmanagerPurpose: SDDC and workload domain lifecycle authority
Primary responsibilities:
Workload domain definitions (Management + VI domains)
Cluster, host, and NSX domain associations
Domain bring-up and tear-down state
Cross-domain dependency tracking
lcmPurpose: Lifecycle Manager workflow state and history
Primary responsibilities:
LCM request records (upgrade, patch, install)
Workflow execution state
Task steps, retries, failures
Correlation IDs used by the API and logs
operationsmanagerPurpose: Day-2 operational services and health orchestration
Primary responsibilities:
Health checks and drift detection
Compliance and telemetry metadata
Operational workflows (non-LCM)
Integration state with other VCF services
platformPurpose: Core platform configuration and shared services
Primary responsibilities:
Global configuration
Certificate metadata
Credential references (not raw secrets)
Inter-service registration and trust
Feature flags and platform capabilities
sddc_manager_uiPurpose: UI state and presentation metadata
Primary responsibilities:
UI session data
Cached views and summaries
UI-specific preferences and rendering state
Data shaping for the frontend
postgresPurpose: Default PostgreSQL administrative database
Primary responsibilities:
Maintenance
Internal PostgreSQL operations
template0Purpose: PostgreSQL system templates
Primary responsibilities:
Used when creating new databases
Not SDDC-specific
template1Purpose: PostgreSQL system templates
Primary responsibilities:
Used when creating new databases
Not SDDC-specific

To connect to a database:

\c <database>
postgres=# \c platform
You are now connected to database "platform" as user "postgres".

To view all the tables:

\dt

The following is a sample of the output.

platform=# \dt
                         List of relations
 Schema |                 Name                  | Type  |  Owner   
--------+---------------------------------------+-------+----------
 public | availability_zone                     | table | platform
 public | avn                                   | table | platform
 public | blocked_functionality                 | table | platform
 public | cluster                               | table | platform
 public | cluster_and_domain                    | table | platform
 public | cluster_and_nsxt_edge_cluster         | table | platform
 public | cluster_and_vcenter                   | table | platform
 public | cluster_and_vds                       | table | platform
 public | credential                            | table | platform
 public | credentialhistory                     | table | platform

To view the versions of installed components:

\c platform

For vCenter:

platform=# select id,vm_hostname,version from vcenter;
                  id                  |            vm_hostname            |       version        
--------------------------------------+-----------------------------------+----------------------
 5e5a94bc-6803-4c88-9502-f1f6d7a3eb2e | vcsa-165-220.lab.aaronrombaut.com | 8.0.2.00100-22617221
(1 row)

For hosts:

platform=# select id,hostname,version from host;
                  id                  |             hostname             |    version     
--------------------------------------+----------------------------------+----------------
 a81a0e94-5f16-42d7-a582-98bc6f63e0c0 | esxi-162-62.lab.aaronrombaut.com | 8.0.2-22380479
 d17765ce-9432-4c93-a42b-90c48715a6fc | esxi-162-63.lab.aaronrombaut.com | 8.0.2-22380479
 3e6545f3-f4bb-4a13-91e5-58ba8d1bf8a3 | esxi-162-64.lab.aaronrombaut.com | 8.0.2-22380479
 3618adfa-3742-4f24-be21-e85e8fd1c70f | esxi-162-61.lab.aaronrombaut.com | 8.0.2-22380479
(4 rows)

For NSX: (for the individual NSX Managers: select * from nsxt; and look in the configuration information)

platform=# select id,version from nsxt;
                  id                  |      version       
--------------------------------------+--------------------
 6c5f9dc8-96f7-4e16-a77c-80eedf437c09 | 4.1.2.1.0-22667789
(1 row)

For SDDC Manager:

platform=# select id,vm_hostname,version from sddc_manager_controller;
                  id                  |            vm_hostname            |     version      
--------------------------------------+-----------------------------------+------------------
 fbb4ae94-c804-4b2b-b6c5-3b5cda0efbaa | sddc-165-226.lab.aaronrombaut.com | 5.1.0.0-22688368
(1 row)

One response to “SDDC Manager Database”

  1. Tom Miller Avatar
    Tom Miller

    Thanks Aaron for all your documentation. Running VCF 9 at home with my VMUG Adv token. Have it deployed v900 and upgraded to v901 just to learn the process. Trying to simulate the real world by importing vSphere 8 as a workload domain. Maybe timing out on the NSX create transport on the ESX host. Anyway I watch your documentation often and your work is appreciated.

    Been certed on ESX2 and all future releases. VCF is WAY different than vSphere. Lot of linkages between products. Trying to gain an understanding of where to go when things go sideways.

    Thanks again!
    Tom

Leave a Reply

Your email address will not be published. Required fields are marked *