Go to main content

Oracle® Solaris Cluster Data Service for PostgreSQL Guide

Exit Print View

Updated: June 2017
 
 

Files for Configuring Oracle Solaris Cluster HA for PostgreSQL Resources

The /opt/SUNWscPostgreSQL/util directory contains files that automate the process of configuring HA for PostgreSQL resources. These files include a registration script, a database preparation script, a configuration file to provide parameters for the first two scripts and a template for the rolechg_config file. This appendix shows a listing of the configuration files.

Listing of pgs_config

#
# Copyright (c) 2006,2012, Oracle and/or its affiliates.  All rights reserved.
#
# This file will be sourced in by pgs_register and the parameters
# listed below will be used.
#
# These parameters can be customized in (key=value) form
#
#                RS - name of the resource for the application.
#                RG - name of the resource group containing RS.
#              PORT - name of the port number.
#                     Do not set the PORT variable if you plan to have a network
#                     unaware installation, or an installation in a 
#                     HA for Solaris Zones.
#                LH - name of the LogicalHostname SC resource.
#                     Do not set the LH variable if you plan to have a network
#                     unaware installation, or an installation in a 
#                    HA for Solaris Zones.
#            HAS_RS - Name of the HAStoragePlus SC resource.
#             PFILE - Parameter file which contains the PostgreSQL specific
#                     parameters, this file will be created by the register script.
#
# The following variables need to be set only, if the agent runs in a
#                    HA for Solaris Zones
#
#              ZONE - Zonename where the zsmf component should be registered
#           ZONE_BT - Resource name of the zone boot component
#           PROJECT - A project in the zone, that will be used for the PostgreSQL
#                     smf service.
#                     If the variable is not set it will be translated as :default for 
#	                     the smf credentials.
#                     Optional
#

RS=
RG=
PORT=
LH=
HAS_RS=
PFILE=

# HA container specific options

ZONE=
ZONE_BT=
PROJECT=

#
# Content for the parameter file
#
#            USER - The Solaris user which owns the PostgreSQL database.
#          PGROOT - Contains the path to the PostgreSQL directory. Below this
#                   directory the postgres binaries are located in the ./bin
#                   directory.
#          PGDATA - Contains the path to the databases of this specific PostgreSQL
#                   instance.
#          PGPORT - Port where the postmaster process will be listening.
#          PGHOST - Hostname where the postmaster process is listening, or a directory 
#                   where the Unix socket file is stored.
#                   If set to a valid hostname, the PGHOST variable forces the probe to
#                   traverse the TCP/IP stack. If the PGHOST variable is empty
#                   or starts with a "/",
#                   the probe will use a socket. If the PGHOST variable starts with a
#                   "/", the entry must
#                   be the directory which contains the socket file.
#       PGLOGFILE - Logfile where the log messages of the postmaster will be stored.
# LD_LIBRARY_PATH - This path contains all the necessary libraries for this PostgreSQL
#                   installation.
#                   Optional
#       ENVSCRIPT - Script to contain PostgreSQL specific runtime variables.
#                   Optional
#            SCDB - This database will be monitored. The database will be generated at 
#                   database preparation time.
#          SCUSER - PostgreSQL user to connect to the $SCDB database. The user will 
#                   be generated at database preparation time 
#         SCTABLE - Table name in the $SCDB database. This table name will be
#                   manipulated to check if PostgreSQL is alive. This table will be 
#                   generated at database preparation time.
#          SCPASS - Password of the SCUSER. If no password is provided, the authentication method
#                   for the SCDB database needs to be trusted for requests from the localhost.
#                   If you do not want to store a readable password in a file, leave the SCPASS
#                   variable empty and encrypt it with the pgs_register -f <config-file> -e command.
#                   Optional
#        NOCONRET - Return code for connection errors. This return code has to 
#                   follow the rules for the generic data service. The value has 
#                   to be between 1 and 100.
#                   100/NOCONRET defines the number of consecutive probes to ignore for
#                   failed connections. A restart or failover will occur, if the 
#                    number is exeeded within the retry interval.

USER=
PGROOT=
PGDATA=
PGPORT=
PGHOST=
PGLOGFILE=
LD_LIBRARY_PATH=
ENVSCRIPT=
SCDB=
SCUSER=
SCTABLE=
SCPASS=
NOCONRET=10

# The following parameters need to be configured only if logfile shipping is configured to 
# ship the PosgreSQL WAL logs between a designated primary and a designated standby 
# resource.
# They needed to be configured only by the primary.
#
# These parameters can be customized in (key=value) form
#
#                STDBY_RS - The resource name of the PostgreSQL standby resource.
#                STDBY_RG - The resource group name of the 
#                PostgreSQL resource group.
#              STDBY_USER - User which is the owner of the standby postgres database.
#              STDBY_HOST - Resolvable name of the standby host or the standby zone.
#                           This name has to be reached through SSH
#           STDBY_PARFILE - The standby postgres parameter file to get the rest 
#                           of the necessary parameters.
#              STDBY_PING - The number of packets the primary uses to ping the 
#                            standby host.If this variable is empty , it will be 
#                            set to five packets.

#              ROLECHG_RS - The resource name of the rolechanger.
#             SSH_PASSDIR - A directory where the ssh passphrase is stored in file
#                           resourcename-sshpass.
#                           This parameter is required only if you configured WAL 
#                           shipping and secured your SSH key with a passphrase.
#                           If the passphrase is empty, leave it undefined.
#                           If you configure the logfile shipping in a without 
#                            storage configuration, do not set the LH parameter
#
# Configure the following parameters on the primary host.
STDBY_RS=
STDBY_RG=
STDBY_USER=
STDBY_HOST=
STDBY_PARFILE=
STDBY_PING=
#
# Configure the following parameters on the standby host

ROLECHG_RS=
#
# Configure the following parameter on both hosts.
#
SSH_PASSDIR=