32.17. The Connection Service File
  The connection service file allows libpq connection parameters to be
   associated with a single service name. That service name can then be
   specified in a libpq connection string, and the associated settings will be
   used. This allows connection parameters to be modified without requiring
   a recompile of the libpq-using application. The service name can also be
   specified using the
  
   PGSERVICE
  
  environment variable.
 
  Service names can be defined in either a per-user service file or a
   system-wide file.  If the same service name exists in both the user
   and the system file, the user file takes precedence.
   By default, the per-user service file is named
  
   ~/.pg_service.conf
  
  .
   On Microsoft Windows, it is named
  
   %APPDATA%\postgresql\.pg_service.conf
  
  (where
  
   %APPDATA%
  
  refers to the Application Data subdirectory
   in the user's profile).  A different file name can be specified by
   setting the environment variable
  
   PGSERVICEFILE
  
  .
   The system-wide file is named
  
   pg_service.conf
  
  .
   By default it is sought in the
  
   etc
  
  directory
   of the
  
   PostgreSQL
  
  installation
   (use
  
   pg_config --sysconfdir
  
  to identify this
   directory precisely).  Another directory, but not a different file
   name, can be specified by setting the environment variable
  
   PGSYSCONFDIR
  
  .
 
Either service file uses an " INI file " format where the section name is the service name and the parameters are connection parameters; see Section 32.1.2 for a list. For example:
# comment [mydb] host=somehost port=5433 user=admin
  An example file is provided in
   the
  
   PostgreSQL
  
  installation at
  
   share/pg_service.conf.sample
  
  .
 
  Connection parameters obtained from a service file are combined with
   parameters obtained from other sources.  A service file setting
   overrides the corresponding environment variable, and in turn can be
   overridden by a value given directly in the connection string.
   For example, using the above service file, a connection string
  
   service=mydb port=5434
  
  will use
   host
  
   somehost
  
  , port
  
   5434
  
  ,
   user
  
   admin
  
  , and other parameters as set by
   environment variables or built-in defaults.