Rootroute       Hosting       Order       Map       Login   Secure Inter-Network Operations  
 
man : postmaster(1)

Command: man perldoc info search(apropos)  




POSTMASTER(1)     PostgreSQL Server Applications    POSTMASTER(1)


NAME
       postmaster - PostgreSQL multiuser database server


SYNOPSIS
       postmaster  [  -A   [ 0 ]  [ 1 ]  ]  [ -B nbuffers ]  [ -c
       name=value ]  [ -d debug-level ]  [ -D datadir ]  [  -F  ]
       [  -h  hostname  ]  [ -i ]  [ -k directory ]  [ -l ]  [ -N
       max-connections ]  [ -o extra-options ]  [ -p port ]  [ -S
       ]  [ --name=value ]  [  [ -n ]  [ -s ]  ]

DESCRIPTION
       postmaster  is  the  PostgreSQL multiuser database server.
       In order for a client application to access a database  it
       connects (over a network or locally) to a running postmas-
       ter. The postmaster then starts a separate server  process
       (``postgres(1)'') to handle the connection. The postmaster
       also manages the communication among server processes.

       By default the postmaster starts  in  the  foreground  and
       prints log messages to the standard error stream. In prac-
       tical applications the postmaster should be started  as  a
       background process, perhaps at boot time.

       One  postmaster  always  manages the data from exactly one
       database cluster. A database cluster is  a  collection  of
       databases  that is stored at a common file system location
       (the ``data area'').  More than one postmaster process can
       run on a system at one time, so long as they use different
       data areas and different communication ports (see  below).
       A data area is created with initdb(1).

       When  the  postmaster starts it needs to know the location
       of the data area.  The location must be specified  by  the
       -D  option or the PGDATA environment variable; there is no
       default.  Typically, -D or PGDATA points directly  to  the
       data  area  directory  created  by initdb.  Other possible
       file layouts are discussed in the documentation.

OPTIONS
       postmaster accepts the following command  line  arguments.
       For a detailed discussion of the options consult the docu-
       mentation. You can also save typing most of these  options
       by setting up a configuration file.

       -A 0|1 Enables  run-time  assertion  checks,  which  is  a
              debugging aid to detect programming mistakes.  This
              option is only available if assertions were enabled
              when PostgreSQL was compiled. If so, the default is
              on.

       -B nbuffers
              Sets  the  number  of shared buffers for use by the
              server  processes.  The  default  value   of   this



Application                 2005-11-05                          1





POSTMASTER(1)     PostgreSQL Server Applications    POSTMASTER(1)


              parameter  is chosen automatically by initdb; refer
              to the documentation for more information.

       -c name=value
              Sets a named run-time parameter. The  configuration
              parameters supported by PostgreSQL are described in
              the documentation. Most of the other  command  line
              options are in fact short forms of such a parameter
              assignment. -c can appear  multiple  times  to  set
              multiple parameters.

       -d debug-level
              Sets the debug level. The higher this value is set,
              the more debugging output is written to the  server
              log. Values are from 1 to 5.

       -D datadir
              Specifies  the  file  system  location  of the data
              directory or configuration file(s). See  the  docu-
              mentation for details.

       -F     Disables  fsync  calls for improved performance, at
              the risk of data corruption in the event of a  sys-
              tem  crash. Specifying this option is equivalent to
              disabling the fsync configuration  parameter.  Read
              the detailed documentation before using this!

              --fsync=true   has  the  opposite  effect  of  this
              option.

       -h hostname
              Specifies the IP host name or address on which  the
              postmaster is to listen for TCP/IP connections from
              client applications. The value can also be a space-
              separated  list  of addresses, or * to specify lis-
              tening on all available interfaces. An empty  value
              specifies  not  listening  on  any IP addresses, in
              which case only Unix-domain sockets can be used  to
              connect  to  the  postmaster. Defaults to listening
              only  on  localhost.   Specifying  this  option  is
              equivalent to setting the listen_addresses configu-
              ration parameter.

       -i     Allows remote clients to connect via TCP/IP (Inter-
              net  domain) connections. Without this option, only
              local connections  are  accepted.  This  option  is
              equivalent  to  setting  listen_addresses  to  * in
              postgresql.conf or via -h.

              This option is deprecated since it does  not  allow
              access   to   the   full   functionality   of  lis-
              ten_addresses.  It's usually  better  to  set  lis-
              ten_addresses directly.




Application                 2005-11-05                          2





POSTMASTER(1)     PostgreSQL Server Applications    POSTMASTER(1)


       -k directory
              Specifies  the  directory of the Unix-domain socket
              on which the postmaster is to  listen  for  connec-
              tions from client applications. The default is nor-
              mally /tmp, but can be changed at build time.

       -l     Enables secure connections using  SSL.   PostgreSQL
              must  have  been  compiled with support for SSL for
              this option to be available. For  more  information
              on using SSL, refer to the documentation.

       -N max-connections
              Sets  the maximum number of client connections that
              this postmaster will accept. By default, this value
              is  32,  but  it  can be set as high as your system
              will support. (Note that -B is required  to  be  at
              least twice -N. See the documentation for a discus-
              sion of system resource requirements for large num-
              bers of client connections.) Specifying this option
              is equivalent to setting the  max_connections  con-
              figuration parameter.

       -o extra-options
              The  command line-style options specified in extra-
              options are passed to all server processes  started
              by  this postmaster. See postgres(1) for possibili-
              ties. If the option string contains any spaces, the
              entire string must be quoted.

       -p port
              Specifies  the  TCP/IP  port  or  local Unix domain
              socket file extension on which the postmaster is to
              listen  for  connections  from client applications.
              Defaults to the value  of  the  PGPORT  environment
              variable, or if PGPORT is not set, then defaults to
              the value established during compilation  (normally
              5432). If you specify a port other than the default
              port, then all client applications must specify the
              same  port  using  either  command-line  options or
              PGPORT.

       -S     Specifies that the postmaster process should  start
              up  in  silent  mode. That is, it will disassociate
              from the user's (controlling) terminal,  start  its
              own process group, and redirect its standard output
              and standard error to /dev/null.

              Using this  switch  discards  all  logging  output,
              which is probably not what you want, since it makes
              it very difficult  to  troubleshoot  problems.  See
              below  for  a better way to start the postmaster in
              the background.

              --silent-mode=false has the opposite effect of this



Application                 2005-11-05                          3





POSTMASTER(1)     PostgreSQL Server Applications    POSTMASTER(1)


              option.

       --name=value
              Sets  a named run-time parameter; a shorter form of
              -c.


       Two additional command  line  options  are  available  for
       debugging  problems  that  cause  a  server process to die
       abnormally. The ordinary strategy in this situation is  to
       notify all other server processes that they must terminate
       and then reinitialize the shared  memory  and  semaphores.
       This  is  because an errant server process could have cor-
       rupted  some  shared  state  before  terminating.    These
       options  select alternative behaviors of the postmaster in
       this situation.  Neither option is  intended  for  use  in
       ordinary operation.


       These special-case options are:

       -n     postmaster will not reinitialize shared data struc-
              tures. A knowledgeable system programmer  can  then
              use   a  debugger  to  examine  shared  memory  and
              semaphore state.

       -s     postmaster will stop all other server processes  by
              sending the signal SIGSTOP, but will not cause them
              to terminate. This permits  system  programmers  to
              collect  core  dumps  from  all server processes by
              hand.


ENVIRONMENT
       PGCLIENTENCODING
              Default character encoding used  by  clients.  (The
              clients may override this individually.) This value
              can also be set in the configuration file.

       PGDATA Default data directory location

       PGDATESTYLE
              Default value of the datestyle run-time  parameter.
              (The  use  of  this  environment variable is depre-
              cated.)

       PGPORT Default port (preferably set in  the  configuration
              file)

       TZ     Server time zone

DIAGNOSTICS
       A  failure  message  mentioning  semget or shmget probably
       indicates you need to configure  your  kernel  to  provide



Application                 2005-11-05                          4





POSTMASTER(1)     PostgreSQL Server Applications    POSTMASTER(1)


       adequate shared memory and semaphores. For more discussion
       see the documentation.

              Tip: You may be able to postpone reconfiguring your
              kernel  by  decreasing shared_buffers to reduce the
              shared memory consumption of PostgreSQL, and/or  by
              reducing  max_connections  to  reduce the semaphore
              consumption.


       A failure message suggesting that  another  postmaster  is
       already  running  should be checked carefully, for example
       by using the command

       $ ps ax | grep postmaster

       or

       $ ps -ef | grep postmaster

       depending on your system. If you are certain that no  con-
       flicting  postmaster  is  running, you may remove the lock
       file mentioned in the message and try again.

       A failure message indicating inability to bind to  a  port
       may indicate that that port is already in use by some non-
       PostgreSQL process. You may also get  this  error  if  you
       terminate  the postmaster and immediately restart it using
       the same port; in this case, you must simply  wait  a  few
       seconds  until the operating system closes the port before
       trying again. Finally, you may get this error if you spec-
       ify  a port number that your operating system considers to
       be reserved. For example, many versions of  Unix  consider
       port  numbers under 1024 to be ``trusted'' and only permit
       the Unix superuser to access them.

NOTES
       If at all possible, do not use SIGKILL to kill  the  post-
       master.  Doing so will prevent postmaster from freeing the
       system resources (e.g., shared memory and semaphores) that
       it  holds  before terminating. This may cause problems for
       starting a fresh postmaster run.

       To terminate the postmaster normally, the signals SIGTERM,
       SIGINT,  or  SIGQUIT  can be used. The first will wait for
       all clients to terminate before quitting, the second  will
       forcefully disconnect all clients, and the third will quit
       immediately without proper shutdown, resulting in a recov-
       ery  run during restart. The SIGHUP signal will reload the
       server configuration files.

       The utility command pg_ctl(1) can be  used  to  start  and
       shut down the postmaster safely and comfortably.




Application                 2005-11-05                          5





POSTMASTER(1)     PostgreSQL Server Applications    POSTMASTER(1)


       The  --  options will not work on FreeBSD or OpenBSD.  Use
       -c instead. This is a bug in the affected  operating  sys-
       tems;  a  future  release  of  PostgreSQL  will  provide a
       workaround if this is not fixed.

EXAMPLES
       To start postmaster in the background using  default  val-
       ues, type:

       $ nohup postmaster >logfile 2>&1 </dev/null &


       To start postmaster with a specific port:

       $ postmaster -p 1234

       This   command  will  start  up  postmaster  communicating
       through the port 1234. In order to connect to  this  post-
       master using psql, you would need to run it as

       $ psql -p 1234

       or set the environment variable PGPORT:

       $ export PGPORT=1234
       $ psql


       Named  run-time  parameters  can be set in either of these
       styles:

       $ postmaster -c work_mem=1234
       $ postmaster --work-mem=1234

       Either form overrides whatever  setting  might  exist  for
       work_mem  in  postgresql.conf.  Notice that underscores in
       parameter names can be written  as  either  underscore  or
       dash on the command line.

              Tip: Except for short-term experiments, it's proba-
              bly better practice to edit the  setting  in  post-
              gresql.conf  than  to rely on a command-line switch
              to set a parameter.


SEE ALSO
       initdb(1), pg_ctl(1)










Application                 2005-11-05                          6




rootr.net - man pages