PostgreSQL discovery

reference australia Updated Sep 17, 2026 3 min read r_DiscoverPostgreSQLInstances.md
Raw file servicenow.com

Discovery can find running instances of PostgreSQL on Windows and Linux systems.

Credentials and other prerequisites

  • Create SSH credentials for PostgreSQL discovery

    For more information, see SSH credentials.

  • Verify root-level access to the database

    The user must have root-level access to the database to access the postgresql.conf file.

  • Verify privileged commands for for PostgreSQL discovery

    For a list of privileged commands that you need for Discovery and Service Mapping, see Service Mapping commands requiring a privileged user. This list includes commands that require elevated rights to discover and map Unix-based hosts in your organization.

  • Differentiate multiple PostgreSQL instances on the same host by port number

    Starting with Discovery and Service Mapping Patterns version 1.35.1, you can make multiple PostgreSQL instances on the same host distinguishable by port number by creating the mid.discovery.postgresql.include_port_in_name MID Server property. For more information, see Include the port number in PostgreSQL instance names.

Note: For information on Probe to Pattern migration see the knowledge article KB0694477.

Classifiers, patterns, and probes

Classifier

Trigger probes

Patterns

PostgreSQL Instance

  • Horizontal Pattern: launches patterns
  • PostgreSQL - Configuration* (add the must_sudo parameter to this probe)
  • PostgreSQL - Version*

PostgreSQL DB

\*For new instances, these probes are inactive on the classifier. Discovery uses patterns for discovery.

To use patterns, verify that the correct pattern is specified in the horizontal pattern probe on the classifier. See Add the Horizontal Pattern probe to a classifier for instructions.

Data collected

Discovery populates the data in the CMDB when running the PostgreSQL DB pattern.

The following fields gather specified information from the target. If the source is not configured, it brings back default information. For instance, for PostgreSQL Instance@hostname (default name), the source needs to be modified. If not, all the "PostgreSQL Instance@hostname" will be added in the source for the PostgreSQL Instance [cmdb_ci_db_postgresql_instance] table.

Field Description
Name [name] The display name of the PostgreSQL instance.*
Data Directory [data_dir] The data directory of the PostgreSQL instance, parsed from the process command line.
TCP port(s) [tcp_port] The port on which the PostgreSQL instance is listening, determined from the running process.
Config File [postgres_conf] The path to the postgresql.conf configuration file.
Version [version] The PostgreSQL version, retrieved from the process executable.

* To populate the Name field in the format instance-port-tcp_port@hostname instead of the default instance@hostname, create the mid.discovery.postgresql.include_port_in_name MID Server property. For more information, see Include the port number in PostgreSQL instance names.

Relationships

CI Relationship CI
PostgreSQL Instance [cmdb_ci_db_postgresql_instance] Runs on::Runs Windows Server [cmdb_ci_windows_server] or Linux Server [cmdb_ci_linux_server]
  • Include the port number in PostgreSQL instance names
    You can make multiple PostgreSQL instances on the same host distinguishable by port number by creating the mid.discovery.postgresql.include_port_in_name MID Server property. This property is supported for UNIX hosts only.

Parent Topic:Database discovery

Search documentation
Search document titles and file paths on the australia branch