Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
af704cdf
Commit
af704cdf
authored
Aug 04, 2002
by
Thomas G. Lockhart
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implement WAL log location control using "-X" or PGXLOG.
parent
a19d9d3c
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
134 additions
and
54 deletions
+134
-54
src/backend/bootstrap/bootstrap.c
src/backend/bootstrap/bootstrap.c
+11
-4
src/backend/postmaster/postmaster.c
src/backend/postmaster/postmaster.c
+8
-2
src/backend/tcop/postgres.c
src/backend/tcop/postgres.c
+12
-3
src/bin/initdb/initdb.sh
src/bin/initdb/initdb.sh
+86
-41
src/bin/pg_ctl/pg_ctl.sh
src/bin/pg_ctl/pg_ctl.sh
+12
-3
src/include/access/xlog.h
src/include/access/xlog.h
+5
-1
No files found.
src/backend/bootstrap/bootstrap.c
View file @
af704cdf
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.13
5 2002/08/02 22:36:05 tgl
Exp $
* $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.13
6 2002/08/04 06:26:38 thomas
Exp $
*
*
*-------------------------------------------------------------------------
*-------------------------------------------------------------------------
*/
*/
...
@@ -223,6 +223,7 @@ BootstrapMain(int argc, char *argv[])
...
@@ -223,6 +223,7 @@ BootstrapMain(int argc, char *argv[])
int
flag
;
int
flag
;
int
xlogop
=
BS_XLOG_NOP
;
int
xlogop
=
BS_XLOG_NOP
;
char
*
potential_DataDir
=
NULL
;
char
*
potential_DataDir
=
NULL
;
char
*
potential_XLogDir
=
NULL
;
/*
/*
* initialize globals
* initialize globals
...
@@ -250,17 +251,22 @@ BootstrapMain(int argc, char *argv[])
...
@@ -250,17 +251,22 @@ BootstrapMain(int argc, char *argv[])
if
(
!
IsUnderPostmaster
)
if
(
!
IsUnderPostmaster
)
{
{
InitializeGUCOptions
();
InitializeGUCOptions
();
potential_DataDir
=
getenv
(
"PGDATA"
);
/* Null if no PGDATA
/* Null if no PGDATA variable */
* variable */
potential_DataDir
=
getenv
(
"PGDATA"
);
/* Null if no PGXLOG variable */
potential_XLogDir
=
getenv
(
"PGXLOG"
);
}
}
while
((
flag
=
getopt
(
argc
,
argv
,
"B:d:D:Fo:px:"
))
!=
-
1
)
while
((
flag
=
getopt
(
argc
,
argv
,
"B:d:D:
X:
Fo:px:"
))
!=
-
1
)
{
{
switch
(
flag
)
switch
(
flag
)
{
{
case
'D'
:
case
'D'
:
potential_DataDir
=
optarg
;
potential_DataDir
=
optarg
;
break
;
break
;
case
'X'
:
potential_XLogDir
=
optarg
;
break
;
case
'd'
:
case
'd'
:
{
{
/* Turn on debugging for the bootstrap process. */
/* Turn on debugging for the bootstrap process. */
...
@@ -315,6 +321,7 @@ BootstrapMain(int argc, char *argv[])
...
@@ -315,6 +321,7 @@ BootstrapMain(int argc, char *argv[])
proc_exit
(
1
);
proc_exit
(
1
);
}
}
SetDataDir
(
potential_DataDir
);
SetDataDir
(
potential_DataDir
);
SetXLogDir
(
potential_XLogDir
);
}
}
/* Validate we have been given a reasonable-looking DataDir */
/* Validate we have been given a reasonable-looking DataDir */
...
...
src/backend/postmaster/postmaster.c
View file @
af704cdf
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
*
*
*
*
* IDENTIFICATION
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.28
1 2002/07/13 01:02:14 momjian
Exp $
* $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.28
2 2002/08/04 06:26:38 thomas
Exp $
*
*
* NOTES
* NOTES
*
*
...
@@ -347,6 +347,7 @@ PostmasterMain(int argc, char *argv[])
...
@@ -347,6 +347,7 @@ PostmasterMain(int argc, char *argv[])
int
status
;
int
status
;
char
original_extraoptions
[
MAXPGPATH
];
char
original_extraoptions
[
MAXPGPATH
];
char
*
potential_DataDir
=
NULL
;
char
*
potential_DataDir
=
NULL
;
char
*
potential_XLogDir
=
NULL
;
*
original_extraoptions
=
'\0'
;
*
original_extraoptions
=
'\0'
;
...
@@ -405,10 +406,11 @@ PostmasterMain(int argc, char *argv[])
...
@@ -405,10 +406,11 @@ PostmasterMain(int argc, char *argv[])
InitializeGUCOptions
();
InitializeGUCOptions
();
potential_DataDir
=
getenv
(
"PGDATA"
);
/* default value */
potential_DataDir
=
getenv
(
"PGDATA"
);
/* default value */
potential_XLogDir
=
getenv
(
"PGXLOG"
);
/* default value */
opterr
=
1
;
opterr
=
1
;
while
((
opt
=
getopt
(
argc
,
argv
,
"A:a:B:b:c:D:d:Fh:ik:lm:MN:no:p:Ss-:"
))
!=
-
1
)
while
((
opt
=
getopt
(
argc
,
argv
,
"A:a:B:b:c:D:
X:
d:Fh:ik:lm:MN:no:p:Ss-:"
))
!=
-
1
)
{
{
switch
(
opt
)
switch
(
opt
)
{
{
...
@@ -431,6 +433,9 @@ PostmasterMain(int argc, char *argv[])
...
@@ -431,6 +433,9 @@ PostmasterMain(int argc, char *argv[])
case
'D'
:
case
'D'
:
potential_DataDir
=
optarg
;
potential_DataDir
=
optarg
;
break
;
break
;
case
'X'
:
potential_XLogDir
=
optarg
;
break
;
case
'd'
:
case
'd'
:
{
{
/* Turn on debugging for the postmaster. */
/* Turn on debugging for the postmaster. */
...
@@ -565,6 +570,7 @@ PostmasterMain(int argc, char *argv[])
...
@@ -565,6 +570,7 @@ PostmasterMain(int argc, char *argv[])
checkDataDir
(
potential_DataDir
);
/* issues error messages */
checkDataDir
(
potential_DataDir
);
/* issues error messages */
SetDataDir
(
potential_DataDir
);
SetDataDir
(
potential_DataDir
);
SetXLogDir
(
potential_XLogDir
);
ProcessConfigFile
(
PGC_POSTMASTER
);
ProcessConfigFile
(
PGC_POSTMASTER
);
...
...
src/backend/tcop/postgres.c
View file @
af704cdf
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
*
*
*
*
* IDENTIFICATION
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.27
7 2002/08/04 04:31:44 momjian
Exp $
* $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.27
8 2002/08/04 06:26:33 thomas
Exp $
*
*
* NOTES
* NOTES
* this is the "main" module of the postgres backend and
* this is the "main" module of the postgres backend and
...
@@ -1146,6 +1146,7 @@ PostgresMain(int argc, char *argv[], const char *username)
...
@@ -1146,6 +1146,7 @@ PostgresMain(int argc, char *argv[], const char *username)
StringInfo
parser_input
;
StringInfo
parser_input
;
char
*
potential_DataDir
=
NULL
;
char
*
potential_DataDir
=
NULL
;
char
*
potential_XLogDir
=
NULL
;
/*
/*
* Catch standard options before doing much else. This even works on
* Catch standard options before doing much else. This even works on
...
@@ -1190,6 +1191,7 @@ PostgresMain(int argc, char *argv[], const char *username)
...
@@ -1190,6 +1191,7 @@ PostgresMain(int argc, char *argv[], const char *username)
{
{
InitializeGUCOptions
();
InitializeGUCOptions
();
potential_DataDir
=
getenv
(
"PGDATA"
);
potential_DataDir
=
getenv
(
"PGDATA"
);
potential_XLogDir
=
getenv
(
"PGXLOG"
);
}
}
/* ----------------
/* ----------------
...
@@ -1214,7 +1216,7 @@ PostgresMain(int argc, char *argv[], const char *username)
...
@@ -1214,7 +1216,7 @@ PostgresMain(int argc, char *argv[], const char *username)
ctx
=
PGC_POSTMASTER
;
ctx
=
PGC_POSTMASTER
;
gucsource
=
PGC_S_ARGV
;
/* initial switches came from command line */
gucsource
=
PGC_S_ARGV
;
/* initial switches came from command line */
while
((
flag
=
getopt
(
argc
,
argv
,
"A:B:c:CD:d:Eef:FiNOPo:p:S:st:v:W:x:-:"
))
!=
-
1
)
while
((
flag
=
getopt
(
argc
,
argv
,
"A:B:c:CD:
X:
d:Eef:FiNOPo:p:S:st:v:W:x:-:"
))
!=
-
1
)
switch
(
flag
)
switch
(
flag
)
{
{
case
'A'
:
case
'A'
:
...
@@ -1246,6 +1248,11 @@ PostgresMain(int argc, char *argv[], const char *username)
...
@@ -1246,6 +1248,11 @@ PostgresMain(int argc, char *argv[], const char *username)
potential_DataDir
=
optarg
;
potential_DataDir
=
optarg
;
break
;
break
;
case
'X'
:
/* PGXLOG directory */
if
(
secure
)
potential_XLogDir
=
optarg
;
break
;
case
'd'
:
/* debug level */
case
'd'
:
/* debug level */
{
{
/* Set server debugging level. */
/* Set server debugging level. */
...
@@ -1537,8 +1544,10 @@ PostgresMain(int argc, char *argv[], const char *username)
...
@@ -1537,8 +1544,10 @@ PostgresMain(int argc, char *argv[], const char *username)
proc_exit
(
1
);
proc_exit
(
1
);
}
}
SetDataDir
(
potential_DataDir
);
SetDataDir
(
potential_DataDir
);
SetXLogDir
(
potential_XLogDir
);
}
}
Assert
(
DataDir
);
Assert
(
DataDir
);
Assert
(
strlen
(
XLogDir
)
>
0
);
/*
/*
* Set up signal handlers and masks.
* Set up signal handlers and masks.
...
@@ -1693,7 +1702,7 @@ PostgresMain(int argc, char *argv[], const char *username)
...
@@ -1693,7 +1702,7 @@ PostgresMain(int argc, char *argv[], const char *username)
if
(
!
IsUnderPostmaster
)
if
(
!
IsUnderPostmaster
)
{
{
puts
(
"
\n
POSTGRES backend interactive interface "
);
puts
(
"
\n
POSTGRES backend interactive interface "
);
puts
(
"$Revision: 1.27
7 $ $Date: 2002/08/04 04:31:44
$
\n
"
);
puts
(
"$Revision: 1.27
8 $ $Date: 2002/08/04 06:26:33
$
\n
"
);
}
}
/*
/*
...
...
src/bin/initdb/initdb.sh
View file @
af704cdf
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
# Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
# Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
# Portions Copyright (c) 1994, Regents of the University of California
#
#
# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.16
3 2002/07/29 22:14:11 tgl
Exp $
# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.16
4 2002/08/04 06:26:38 thomas
Exp $
#
#
#-------------------------------------------------------------------------
#-------------------------------------------------------------------------
...
@@ -252,6 +252,19 @@ do
...
@@ -252,6 +252,19 @@ do
-D
*
)
-D
*
)
PGDATA
=
`
echo
$1
|
sed
's/^-D//'
`
PGDATA
=
`
echo
$1
|
sed
's/^-D//'
`
;;
;;
# Directory to hold WAL log files.
--pgxlog
|
-X
)
PGXLOG
=
"
$2
"
defined_pgxlog
=
yes
shift
;;
--pgxlog
=
*
)
PGXLOG
=
`
echo
$1
|
sed
's/^--pgxlog=//'
`
defined_pgxlog
=
yes
;;
-X
*
)
PGXLOG
=
`
echo
$1
|
sed
's/^-X//'
`
defined_pgxlog
=
yes
;;
# The directory where the .bki input files are stored. Normally
# The directory where the .bki input files are stored. Normally
# they are in PREFIX/share and this option should be unnecessary.
# they are in PREFIX/share and this option should be unnecessary.
-L
)
-L
)
...
@@ -341,6 +354,7 @@ if [ "$usage" ]; then
...
@@ -341,6 +354,7 @@ if [ "$usage" ]; then
echo
echo
echo
"Options:"
echo
"Options:"
echo
" [-D, --pgdata] DATADIR Location for this database cluster"
echo
" [-D, --pgdata] DATADIR Location for this database cluster"
echo
" [-X, --pgxlog] XLOGDIR Location for the cluster transaction logs"
echo
" -W, --pwprompt Prompt for a password for the new superuser"
echo
" -W, --pwprompt Prompt for a password for the new superuser"
if
[
-n
"
$MULTIBYTE
"
]
;
then
if
[
-n
"
$MULTIBYTE
"
]
;
then
echo
" -E, --encoding ENCODING Set default encoding for new databases"
echo
" -E, --encoding ENCODING Set default encoding for new databases"
...
@@ -369,7 +383,7 @@ fi
...
@@ -369,7 +383,7 @@ fi
if
[
"
$MULTIBYTE
"
]
if
[
"
$MULTIBYTE
"
]
then
then
MULTIBYTEID
=
`
$PGPATH
/pg_encoding
-b
$MULTIBYTE
`
MULTIBYTEID
=
`
$PGPATH
/pg_encoding
-b
$MULTIBYTE
`
if
[
"
$?
"
-ne
0
]
if
[
"
$?
"
-ne
0
]
then
then
(
(
echo
"
$CMDNAME
: pg_encoding failed"
echo
"
$CMDNAME
: pg_encoding failed"
...
@@ -401,6 +415,11 @@ then
...
@@ -401,6 +415,11 @@ then
exit
1
exit
1
fi
fi
if
[
-z
"
$PGXLOG
"
]
then
PGXLOG
=
"
$PGDATA
"
/pg_xlog
fi
#-------------------------------------------------------------------------
#-------------------------------------------------------------------------
# Find the input files
# Find the input files
...
@@ -418,7 +437,7 @@ then
...
@@ -418,7 +437,7 @@ then
(
(
echo
echo
echo
"initdb variables:"
echo
"initdb variables:"
for
var
in
PGDATA datadir PGPATH MULTIBYTE MULTIBYTEID
\
for
var
in
PGDATA
PGXLOG
datadir PGPATH MULTIBYTE MULTIBYTEID
\
POSTGRES_SUPERUSERNAME POSTGRES_BKI
\
POSTGRES_SUPERUSERNAME POSTGRES_BKI
\
POSTGRES_DESCR POSTGRESQL_CONF_SAMPLE
\
POSTGRES_DESCR POSTGRESQL_CONF_SAMPLE
\
PG_HBA_SAMPLE PG_IDENT_SAMPLE
;
do
PG_HBA_SAMPLE PG_IDENT_SAMPLE
;
do
...
@@ -503,44 +522,61 @@ then
...
@@ -503,44 +522,61 @@ then
echo
"
$CMDNAME
: The directory
$PGDATA
exists but is not empty."
echo
"
$CMDNAME
: The directory
$PGDATA
exists but is not empty."
echo
"If you want to create a new database system, either remove or empty"
echo
"If you want to create a new database system, either remove or empty"
echo
"the directory
$PGDATA
or run initdb with"
echo
"the directory
$PGDATA
or run initdb with"
echo
"an argument other than
$PGDATA
."
echo
"an argument for -D other than
$PGDATA
."
)
1>&2
exit
1
fi
# find out if transaction log directory is empty
pgxlog_contents
=
`
ls
-A
"
$PGXLOG
"
2>/dev/null
`
if
[
x
"
$pgxlog_contents
"
!=
x
]
then
(
echo
"
$CMDNAME
: The directory
$PGXLOG
exists but is not empty."
echo
"If you want to create a new transaction log, either remove or empty"
echo
"the directory
$PGXLOG
or run initdb with"
echo
"an argument for -X other than
$PGXLOG
."
)
1>&2
)
1>&2
exit
1
exit
1
fi
if
[
!
-d
"
$PGDATA
"
]
;
then
$ECHO_N
"creating directory
$PGDATA
... "
$ECHO_C
mkdir
-p
"
$PGDATA
"
>
/dev/null 2>&1
||
mkdir
"
$PGDATA
"
||
exit_nicely
made_new_pgdata
=
yes
else
else
if
[
!
-d
"
$PGDATA
"
]
;
then
$ECHO_N
"Fixing permissions on existing directory
$PGDATA
... "
$ECHO_C
$ECHO_N
"creating directory
$PGDATA
... "
$ECHO_C
chmod
go-rwx
"
$PGDATA
"
||
exit_nicely
mkdir
-p
"
$PGDATA
"
>
/dev/null 2>&1
||
mkdir
"
$PGDATA
"
||
exit_nicely
fi
made_new_pgdata
=
yes
echo
"ok"
else
$ECHO_N
"Fixing permissions on existing directory
$PGDATA
... "
$ECHO_C
chmod
go-rwx
"
$PGDATA
"
||
exit_nicely
fi
echo
"ok"
if
[
!
-d
"
$PGDATA
"
/base
]
if
[
!
-d
"
$PGXLOG
"
]
;
then
then
$ECHO_N
"creating directory
$PGXLOG
... "
$ECHO_C
$ECHO_N
"creating directory
$PGDATA
/base... "
$ECHO_C
mkdir
-p
"
$PGXLOG
"
>
/dev/null 2>&1
||
mkdir
"
$PGXLOG
"
||
exit_nicely
mkdir
"
$PGDATA
"
/base
||
exit_nicely
made_new_pgxlog
=
yes
echo
"ok"
else
fi
$ECHO_N
"Fixing permissions on existing directory
$PGXLOG
... "
$ECHO_C
if
[
!
-d
"
$PGDATA
"
/global
]
chmod
go-rwx
"
$PGXLOG
"
||
exit_nicely
then
fi
$ECHO_N
"creating directory
$PGDATA
/global... "
$ECHO_C
echo
"ok"
mkdir
"
$PGDATA
"
/global
||
exit_nicely
echo
"ok"
if
[
!
-d
"
$PGDATA
"
/base
]
fi
then
if
[
!
-d
"
$PGDATA
"
/pg_xlog
]
$ECHO_N
"creating directory
$PGDATA
/base... "
$ECHO_C
then
mkdir
"
$PGDATA
"
/base
||
exit_nicely
$ECHO_N
"creating directory
$PGDATA
/pg_xlog... "
$ECHO_C
echo
"ok"
mkdir
"
$PGDATA
"
/pg_xlog
||
exit_nicely
fi
echo
"ok"
if
[
!
-d
"
$PGDATA
"
/global
]
fi
then
if
[
!
-d
"
$PGDATA
"
/pg_clog
]
$ECHO_N
"creating directory
$PGDATA
/global... "
$ECHO_C
then
mkdir
"
$PGDATA
"
/global
||
exit_nicely
$ECHO_N
"creating directory
$PGDATA
/pg_clog... "
$ECHO_C
echo
"ok"
mkdir
"
$PGDATA
"
/pg_clog
||
exit_nicely
fi
echo
"ok"
if
[
!
-d
"
$PGDATA
"
/pg_clog
]
fi
then
$ECHO_N
"creating directory
$PGDATA
/pg_clog... "
$ECHO_C
mkdir
"
$PGDATA
"
/pg_clog
||
exit_nicely
echo
"ok"
fi
fi
...
@@ -549,7 +585,7 @@ fi
...
@@ -549,7 +585,7 @@ fi
# RUN BKI SCRIPT IN BOOTSTRAP MODE TO CREATE TEMPLATE1
# RUN BKI SCRIPT IN BOOTSTRAP MODE TO CREATE TEMPLATE1
# common backend options
# common backend options
PGSQL_OPT
=
"-F -D
$PGDATA
"
PGSQL_OPT
=
"-F -D
$PGDATA
-X
$PGXLOG
"
if
[
"
$debug
"
=
yes
]
if
[
"
$debug
"
=
yes
]
then
then
...
@@ -677,7 +713,6 @@ EOF
...
@@ -677,7 +713,6 @@ EOF
echo
"ok"
echo
"ok"
fi
fi
$ECHO_N
"enabling unlimited row size for system tables... "
$ECHO_C
$ECHO_N
"enabling unlimited row size for system tables... "
$ECHO_C
"
$PGPATH
"
/postgres
$PGSQL_OPT
template1
>
/dev/null
<<
EOF
"
$PGPATH
"
/postgres
$PGSQL_OPT
template1
>
/dev/null
<<
EOF
...
@@ -1058,14 +1093,24 @@ echo "ok"
...
@@ -1058,14 +1093,24 @@ echo "ok"
#
#
# FINISHED
# FINISHED
postmaster_startup
=
"
$PGPATH
/postmaster -D
$PGDATA
"
if
[
x
"
$defined_pgxlog
"
!=
x
]
;
then
postmaster_startup
=
"
$postmaster_startup
-X
$PGXLOG
"
fi
pg_ctl_startup
=
"
$PGPATH
/pg_ctl -D
$PGDATA
"
if
[
x
"
$defined_pgxlog
"
!=
x
]
;
then
pg_ctl_startup
=
"
$pg_ctl_startup
-X
$PGXLOG
"
fi
pg_ctl_startup
=
"
$pg_ctl_startup
-l logfile start"
echo
echo
echo
"Success. You can now start the database server using:"
echo
"Success. You can now start the database server using:"
echo
""
echo
""
echo
"
$
PGPATH
/postmaster -D
$PGDATA
"
echo
"
$
postmaster_startup
"
echo
"or"
echo
"or"
# (Advertise -l option here, otherwise we have a background
# (Advertise -l option here, otherwise we have a background
# process writing to the terminal.)
# process writing to the terminal.)
echo
"
$
PGPATH
/pg_ctl -D
$PGDATA
-l logfile start
"
echo
"
$
pg_ctl_startup
"
echo
echo
exit
0
exit
0
src/bin/pg_ctl/pg_ctl.sh
View file @
af704cdf
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
#
#
#
#
# IDENTIFICATION
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/bin/pg_ctl/Attic/pg_ctl.sh,v 1.2
7 2002/07/19 15:31:42 momjian
Exp $
# $Header: /cvsroot/pgsql/src/bin/pg_ctl/Attic/pg_ctl.sh,v 1.2
8 2002/08/04 06:26:38 thomas
Exp $
#
#
#-------------------------------------------------------------------------
#-------------------------------------------------------------------------
...
@@ -19,20 +19,23 @@ $CMDNAME is a utility to start, stop, restart, reload configuration files,
...
@@ -19,20 +19,23 @@ $CMDNAME is a utility to start, stop, restart, reload configuration files,
or report the status of a PostgreSQL server.
or report the status of a PostgreSQL server.
Usage:
Usage:
$CMDNAME
start [-w] [-D DATADIR] [-s] [-l FILENAME] [-o
\"
OPTIONS
\"
]
$CMDNAME
start [-w] [-D DATADIR] [-s] [-
X PGXLOG] [-
l FILENAME] [-o
\"
OPTIONS
\"
]
$CMDNAME
stop [-W] [-D DATADIR] [-s] [-m SHUTDOWN-MODE]
$CMDNAME
stop [-W] [-D DATADIR] [-s] [-m SHUTDOWN-MODE]
$CMDNAME
restart [-w] [-D DATADIR] [-s] [-m SHUTDOWN-MODE] [-o
\"
OPTIONS
\"
]
$CMDNAME
restart [-w] [-D DATADIR] [-s] [-
X PGXLOG] [-
m SHUTDOWN-MODE] [-o
\"
OPTIONS
\"
]
$CMDNAME
reload [-D DATADIR] [-s]
$CMDNAME
reload [-D DATADIR] [-s]
$CMDNAME
status [-D DATADIR]
$CMDNAME
status [-D DATADIR]
Common options:
Common options:
-D DATADIR Location of the database storage area
-D DATADIR Location of the database storage area
-X XLOGDIR Location of the WAL log file storage area
-s Only print errors, no informational messages
-s Only print errors, no informational messages
-w Wait until operation completes
-w Wait until operation completes
-W Do not wait until operation completes
-W Do not wait until operation completes
(The default is to wait for shutdown, but not for start or restart.)
(The default is to wait for shutdown, but not for start or restart.)
If the -D option is omitted, the environment variable PGDATA is used.
If the -D option is omitted, the environment variable PGDATA is used.
If the -X option is omitted, the environment variable PGXLOG is used
or the postmaster defaults to looking in
$PGDATA
/pg_xlog.
Options for start or restart:
Options for start or restart:
-l FILENAME Write (or append) server log to FILENAME. The
-l FILENAME Write (or append) server log to FILENAME. The
...
@@ -132,6 +135,12 @@ do
...
@@ -132,6 +135,12 @@ do
PGDATA
=
"
$1
"
PGDATA
=
"
$1
"
export
PGDATA
export
PGDATA
;;
;;
-X
)
shift
# pass environment into new postmaster
PGXLOG
=
"
$1
"
export
PGXLOG
;;
-l
)
-l
)
logfile
=
"
$2
"
logfile
=
"
$2
"
shift
;;
shift
;;
...
...
src/include/access/xlog.h
View file @
af704cdf
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* $Id: xlog.h,v 1.3
1 2002/06/20 20:29:43 momjian
Exp $
* $Id: xlog.h,v 1.3
2 2002/08/04 06:26:38 thomas
Exp $
*/
*/
#ifndef XLOG_H
#ifndef XLOG_H
#define XLOG_H
#define XLOG_H
...
@@ -175,6 +175,9 @@ typedef struct XLogRecData
...
@@ -175,6 +175,9 @@ typedef struct XLogRecData
struct
XLogRecData
*
next
;
struct
XLogRecData
*
next
;
}
XLogRecData
;
}
XLogRecData
;
/* XLOG directory name */
extern
char
XLogDir
[];
extern
StartUpID
ThisStartUpID
;
/* current SUI */
extern
StartUpID
ThisStartUpID
;
/* current SUI */
extern
bool
InRecovery
;
extern
bool
InRecovery
;
extern
XLogRecPtr
MyLastRecPtr
;
extern
XLogRecPtr
MyLastRecPtr
;
...
@@ -189,6 +192,7 @@ extern int XLOG_DEBUG;
...
@@ -189,6 +192,7 @@ extern int XLOG_DEBUG;
extern
char
*
XLOG_sync_method
;
extern
char
*
XLOG_sync_method
;
extern
const
char
XLOG_sync_method_default
[];
extern
const
char
XLOG_sync_method_default
[];
extern
void
SetXLogDir
(
char
*
path
);
extern
XLogRecPtr
XLogInsert
(
RmgrId
rmid
,
uint8
info
,
XLogRecData
*
rdata
);
extern
XLogRecPtr
XLogInsert
(
RmgrId
rmid
,
uint8
info
,
XLogRecData
*
rdata
);
extern
void
XLogFlush
(
XLogRecPtr
RecPtr
);
extern
void
XLogFlush
(
XLogRecPtr
RecPtr
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment