Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf7ea6be

Browse files
committed
Remove silent_mode. You get the same functionality with "pg_ctl -l
postmaster.log", or nohup.There was a small issue with LINUX_OOM_ADJ and silent_mode, namely that withsilent_mode the postmaster process incorrectly used the OOM settings meantfor backend processes. We certainly could've fixed that directly, but sincesilent_mode was redundant anyway, we might as well just remove it.
1 parentf563afd commitf7ea6be

File tree

4 files changed

+1
-157
lines changed

4 files changed

+1
-157
lines changed

‎doc/src/sgml/config.sgml

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3201,36 +3201,6 @@ local0.* /var/log/postgresql
32013201
</listitem>
32023202
</varlistentry>
32033203

3204-
<varlistentry id="guc-silent-mode" xreflabel="silent_mode">
3205-
<term><varname>silent_mode</varname> (<type>boolean</type>)</term>
3206-
<indexterm>
3207-
<primary><varname>silent_mode</> configuration parameter</primary>
3208-
</indexterm>
3209-
<listitem>
3210-
<para>
3211-
Runs the server silently. If this parameter is set, the server
3212-
will automatically run in background and disassociate from the
3213-
controlling terminal.
3214-
This parameter can only be set at server start.
3215-
</para>
3216-
3217-
<caution>
3218-
<para>
3219-
When this parameter is set,
3220-
the server's standard output and standard error are redirected
3221-
to the file <filename>postmaster.log</> within the data directory.
3222-
There is no provision for rotating this file, so it will grow
3223-
indefinitely unless server log output is redirected elsewhere
3224-
by other settings. It is recommended that <varname>log_destination</>
3225-
be set to <literal>syslog</> or that <varname>logging_collector</> be
3226-
enabled when using this option. Even with those measures, errors
3227-
reported early during startup may appear in
3228-
<filename>postmaster.log</> rather than the normal log destination.
3229-
</para>
3230-
</caution>
3231-
</listitem>
3232-
</varlistentry>
3233-
32343204
</variablelist>
32353205
</sect2>
32363206
<sect2 id="runtime-config-logging-when">

‎src/backend/postmaster/postmaster.c

Lines changed: 1 addition & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,7 @@
5858
* Error Reporting:
5959
*Use write_stderr() only for reporting "interactive" errors
6060
*(essentially, bogus arguments on the command line). Once the
61-
*postmaster is launched, use ereport().In particular, don't use
62-
*write_stderr() for anything that occurs after pmdaemonize.
61+
*postmaster is launched, use ereport().
6362
*
6463
*-------------------------------------------------------------------------
6564
*/
@@ -192,7 +191,6 @@ static intSendStop = false;
192191

193192
/* still more option variables */
194193
boolEnableSSL= false;
195-
boolSilentMode= false;/* silent_mode */
196194

197195
intPreAuthDelay=0;
198196
intAuthenticationTimeout=60;
@@ -326,7 +324,6 @@ static DNSServiceRef bonjour_sdref = NULL;
326324
*/
327325
staticvoidgetInstallationPaths(constchar*argv0);
328326
staticvoidcheckDataDir(void);
329-
staticvoidpmdaemonize(void);
330327
staticPort*ConnCreate(intserverFd);
331328
staticvoidConnFree(Port*port);
332329
staticvoidreset_shared(intport);
@@ -777,15 +774,6 @@ PostmasterMain(int argc, char *argv[])
777774
(errmsg_internal("-----------------------------------------")));
778775
}
779776

780-
/*
781-
* Fork away from controlling terminal, if silent_mode specified.
782-
*
783-
* Must do this before we grab any interlock files, else the interlocks
784-
* will show the wrong PID.
785-
*/
786-
if (SilentMode)
787-
pmdaemonize();
788-
789777
/*
790778
* Create lockfile for data directory.
791779
*
@@ -1270,105 +1258,6 @@ checkDataDir(void)
12701258
FreeFile(fp);
12711259
}
12721260

1273-
1274-
/*
1275-
* Fork away from the controlling terminal (silent_mode option)
1276-
*
1277-
* Since this requires disconnecting from stdin/stdout/stderr (in case they're
1278-
* linked to the terminal), we re-point stdin to /dev/null and stdout/stderr
1279-
* to "postmaster.log" in the data directory, where we're already chdir'd.
1280-
*/
1281-
staticvoid
1282-
pmdaemonize(void)
1283-
{
1284-
#ifndefWIN32
1285-
constchar*pmlogname="postmaster.log";
1286-
intdvnull;
1287-
intpmlog;
1288-
pid_tpid;
1289-
intres;
1290-
1291-
/*
1292-
* Make sure we can open the files we're going to redirect to. If this
1293-
* fails, we want to complain before disconnecting. Mention the full path
1294-
* of the logfile in the error message, even though we address it by
1295-
* relative path.
1296-
*/
1297-
dvnull=open(DEVNULL,O_RDONLY,0);
1298-
if (dvnull<0)
1299-
{
1300-
write_stderr("%s: could not open file \"%s\": %s\n",
1301-
progname,DEVNULL,strerror(errno));
1302-
ExitPostmaster(1);
1303-
}
1304-
pmlog=open(pmlogname,O_CREAT |O_WRONLY |O_APPEND,S_IRUSR |S_IWUSR);
1305-
if (pmlog<0)
1306-
{
1307-
write_stderr("%s: could not open log file \"%s/%s\": %s\n",
1308-
progname,DataDir,pmlogname,strerror(errno));
1309-
ExitPostmaster(1);
1310-
}
1311-
1312-
/*
1313-
* Okay to fork.
1314-
*/
1315-
pid=fork_process();
1316-
if (pid== (pid_t)-1)
1317-
{
1318-
write_stderr("%s: could not fork background process: %s\n",
1319-
progname,strerror(errno));
1320-
ExitPostmaster(1);
1321-
}
1322-
elseif (pid)
1323-
{/* parent */
1324-
/* Parent should just exit, without doing any atexit cleanup */
1325-
_exit(0);
1326-
}
1327-
1328-
MyProcPid=PostmasterPid=getpid();/* reset PID vars to child */
1329-
1330-
MyStartTime=time(NULL);
1331-
1332-
/*
1333-
* Some systems use setsid() to dissociate from the TTY's process group,
1334-
* while on others it depends on stdin/stdout/stderr. Do both if
1335-
* possible.
1336-
*/
1337-
#ifdefHAVE_SETSID
1338-
if (setsid()<0)
1339-
{
1340-
write_stderr("%s: could not dissociate from controlling TTY: %s\n",
1341-
progname,strerror(errno));
1342-
ExitPostmaster(1);
1343-
}
1344-
#endif
1345-
1346-
/*
1347-
* Reassociate stdin/stdout/stderr. fork_process() cleared any pending
1348-
* output, so this should be safe.The only plausible error is EINTR,
1349-
* which just means we should retry.
1350-
*/
1351-
do
1352-
{
1353-
res=dup2(dvnull,0);
1354-
}while (res<0&&errno==EINTR);
1355-
close(dvnull);
1356-
do
1357-
{
1358-
res=dup2(pmlog,1);
1359-
}while (res<0&&errno==EINTR);
1360-
do
1361-
{
1362-
res=dup2(pmlog,2);
1363-
}while (res<0&&errno==EINTR);
1364-
close(pmlog);
1365-
#else/* WIN32 */
1366-
/* not supported */
1367-
elog(FATAL,"silent_mode is not supported under Windows");
1368-
#endif/* WIN32 */
1369-
}
1370-
1371-
13721261
/*
13731262
* Main idle loop of postmaster
13741263
*/

‎src/backend/utils/misc/guc.c

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -824,16 +824,6 @@ static struct config_bool ConfigureNamesBool[] =
824824
true,
825825
NULL,NULL,NULL
826826
},
827-
{
828-
{"silent_mode",PGC_POSTMASTER,LOGGING_WHERE,
829-
gettext_noop("Runs the server silently."),
830-
gettext_noop("If this parameter is set, the server will automatically run in the "
831-
"background and any controlling terminals are dissociated.")
832-
},
833-
&SilentMode,
834-
false,
835-
NULL,NULL,NULL
836-
},
837827
{
838828
{"log_checkpoints",PGC_SIGHUP,LOGGING_WHAT,
839829
gettext_noop("Logs each checkpoint."),

‎src/backend/utils/misc/postgresql.conf.sample

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -300,11 +300,6 @@
300300
#syslog_facility = 'LOCAL0'
301301
#syslog_ident = 'postgres'
302302

303-
#silent_mode = off# Run server silently.
304-
# DO NOT USE without syslog or
305-
# logging_collector
306-
# (change requires restart)
307-
308303

309304
# - When to Log -
310305

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp