Home Man
Today's Posts

Linux & Unix Commands - Search Man Pages

RedHat 9 (Linux i386) - man page for postmaster (redhat section 1)

POSTMASTER(1)			  PostgreSQL Server Applications		    POSTMASTER(1)

       postmaster - PostgreSQL multiuser database server

       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 ]

       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 postmaster.  The
       postmaster  then  starts a separate server process (``postgres(1)'') to handle the connec-
       tion. The postmaster also manages the communication among server processes.

       By default the postmaster starts in the foreground and prints log messages to the standard
       output.	In  practical  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 clus-
       ter is a collection of databases that is stored at a common file system location. When the
       postmaster starts it needs to know the location of  the	database  cluster  files  (``data
       area'').  This  is  done with the -D invocation option or the PGDATA environment variable;
       there is no default.  More than one postmaster process can run on a system at one time, as
       long  as  they  use  different data areas and different communication ports (see below). A
       data area is created with initdb(1).

       postmaster accepts the following command line arguments. For a detailed discussion of  the
       options	consult the Administrator's Guide. You can also save typing most of these options
       by setting up a configuration file.

       -A 0|1 Enables run-time assert checks, which is a debugging aid to detect programming mis-
	      takes.  This  is	only  available  if it was enabled during compilation. If so, the
	      default is on.

       -B nbuffers
	      Sets the number of shared buffers for use  by  the  server  processes.  This  value
	      defaults to 64 buffers, where each buffer is 8 kB.

       -c name=value
	      Sets  a  named run-time parameter. Consult the Administrator's Guide for a list and
	      descriptions. 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 parame-

       -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. See discussion above.

       -F     Disables fsync calls for performance improvement, at the risk of data corruption in
	      event of a system crash. This parameter corresponds to setting fsync=false in post-
	      gresql.conf. Read the detailed documentation before using this!

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

       -h hostname
	      Specifies  the TCP/IP host name or address on which the postmaster is to listen for
	      connections from client applications.  Defaults  to  listening  on  all  configured
	      addresses (including localhost).

       -i     Allows  clients  to  connect via TCP/IP (Internet domain) connections. Without this
	      option, only local Unix domain socket connections are accepted. This option  corre-
	      sponds to setting tcpip_socket=true in postgresql.conf.

	      --tcpip_socket=false has the opposite effect of this option.

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

       -l     Enables secure connections using SSL. The -i option is also required. You must have
	      compiled with SSL enabled to use this option.

       -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  Administrator's  Guide
	      for  a  discussion of system resource requirements for large numbers of client con-

       -o extra-options
	      The command line-style options specified in extra-options are passed to all backend
	      server  processes started by this postmaster. See postgres(1) for possibilities. 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 option.

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

       Two  additional	command  line  options	are available for debugging problems that cause a
       backend to die abnormally. These options control the behavior of the  postmaster  in  this
       situation, and neither option is intended for use in ordinary operation.

       The  ordinary  strategy	for this situation is to notify all other backends that they must
       terminate and then reinitialize the shared memory  and  semaphores.  This  is  because  an
       errant backend could have corrupted some shared state before terminating.

       These special-case options are:

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

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

	      Default character encoding used by clients. (The clients may override this individ-
	      ually.) This value can also be set in the configuration file.

       PGDATA Default data direction location

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

       PGPORT Default port (preferably set in the configuration file)

       TZ     Server time zone

       others Other environment variables may be used to designate alternative data storage loca-
	      tions. See the Administrator's Guide for more information.

       semget: No space left on device
	      If  you  see this message, you should run the ipcclean command. After doing so, try
	      starting postmaster again. If this still doesn't work, you probably need to config-
	      ure  your  kernel for shared memory and semaphores as described in the installation
	      notes. If you run multiple instances of postmaster on a single host, or have a ker-
	      nel  with particularly small shared memory and/or semaphore limits, you may have to
	      reconfigure your kernel to increase its shared memory or semaphore parameters.

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

       StreamServerPort: cannot bind to port
	      If you see this message, you should make certain that there is no other  postmaster
	      process  already running on the same port number. The easiest way to determine this
	      is by using the command

	      $ ps ax | grep postmaster


	      $ ps -e | grep postmaster

	      depending on your system.

	      If you are sure that no other postmaster processes are running and  you  still  get
	      this  error,  try specifying a different port using the -p option. 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
	      specify  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.

       If  at all possible, do not use SIGKILL to kill the postmaster. This will prevent postmas-
       ter from freeing the system resources (e.g., shared memory and semaphores) that	it  holds
       before terminating.

       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  force-
       fully disconnect all clients, and the third will quit immediately without proper shutdown,
       resulting in a recovery run during restart.

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

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

       To start postmaster in the background using default values, 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 postmaster 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 sort_mem=1234
       $ postmaster --sort-mem=1234

       Either form overrides whatever setting might exist for sort_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 probably better practice to	edit  the
	      setting  in  postgresql.conf than to rely on a command-line switch to set a parame-

       initdb(1), pg_ctl(1)

Application				    2002-11-22				    POSTMASTER(1)

All times are GMT -4. The time now is 04:08 AM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
Show Password