下载postgresql 10.4的源码:
https://www.postgresql.org/ftp/source/v10.4/
rhel7.5配置iso yum源:
https://blog.csdn.net/msdnchina/article/details/52452296
https://www.postgresql.org/ftp/source/v10.4/
rhel7.5配置iso yum源:
https://blog.csdn.net/msdnchina/article/details/52452296
[root@dbserver yum.repos.d]# yum -y install gcc-4* [root@dbserver yum.repos.d]# yum -y install readline-devel-6* [root@dbserver yum.repos.d]# yum -y install zlib-devel-1.2* [root@dbserver yum.repos.d]# useradd pg104 [root@dbserver yum.repos.d]# passwd pg104 Changing password for user pg104. New password: BAD PASSWORD: The password is a palindrome Retype new password: passwd: all authentication tokens updated successfully. [root@dbserver yum.repos.d]#
[pg104@dbserver ~]$ gunzip postgresql-10.4.tar.gz [pg104@dbserver ~]$ tar xf postgresql-10.4.tar
***********************************如下是查看configure的参数*********************************** [pg104@dbserver postgresql-10.4]$ ./configure --help `configure' configures Postgresql 10.4 to adapt to many kinds of systems. Usage: ./configure [OPTION]... [VAR=VALUE]... To assign environment variables (e.g.,CC,CFLAGS...),specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h,--help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V,--version display version information and exit -q,--quiet,--silent do not print `checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C,--config-cache alias for `--cache-file=config.cache' -n,--no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or `..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [/usr/local/pgsql] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default,`make install' will install all the files in `/usr/local/pgsql/bin',`/usr/local/pgsql/lib' etc. You can specify an installation prefix other than `/usr/local/pgsql' using `--prefix',for instance `--prefix=$HOME'. For better control,use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/postgresql] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-integer-datetimes obsolete option,no longer supported --enable-nls[=LANGUAGES] enable Native Language Support --disable-rpath do not embed shared library search path in executables --disable-spinlocks do not use spinlocks --disable-atomics do not use atomic operations --disable-strong-random do not use a strong random number source --enable-debug build with debugging symbols (-g) --enable-profiling build with profiling enabled --enable-coverage build with coverage testing instrumentation --enable-dtrace build with DTrace support --enable-tap-tests enable TAP tests (requires Perl and IPC::Run) --enable-depend turn on automatic dependency tracking --enable-cassert enable assertion checks (for debugging) --disable-thread-safety disable thread-safety in client libraries --disable-largefile omit support for large files --disable-float4-byval disable float4 passed by value --disable-float8-byval disable float8 passed by value Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-extra-version=STRING append STRING to version --with-template=NAME override operating system template --with-includes=DIRS look for additional header files in DIRS --with-libraries=DIRS look for additional libraries in DIRS --with-libs=DIRS alternative spelling of --with-libraries --with-pgport=PORTNUM set default port number [5432] --with-blocksize=BLOCKSIZE set table block size in kB [8] --with-segsize=SEGSIZE set table segment size in GB [1] --with-wal-blocksize=BLOCKSIZE set WAL block size in kB [8] --with-wal-segsize=SEGSIZE set WAL segment size in MB [16] --with-CC=CMD set compiler (deprecated) --with-icu build with ICU support --with-tcl build Tcl modules (PL/Tcl) --with-tclconfig=DIR tclConfig.sh is in DIR --with-perl build Perl modules (PL/Perl) --with-python build Python modules (PL/Python) --with-gssapi build with GSSAPI support --with-krb-srvnam=NAME default service principal name in Kerberos (GSSAPI) [postgres] --with-pam build with PAM support --with-bsd-auth build with BSD Authentication support --with-ldap build with LDAP support --with-bonjour build with Bonjour support --with-openssl build with OpenSSL support --with-selinux build with SELinux support --with-systemd build with systemd support --without-readline do not use GNU Readline nor BSD Libedit for editing --with-libedit-preferred prefer BSD Libedit over GNU Readline --with-uuid=LIB build contrib/uuid-ossp using LIB (bsd,e2fs,ossp) --with-ossp-uuid obsolete spelling of --with-uuid=ossp --with-libxml build with XML support --with-libxslt use XSLT support when building contrib/xml2 --with-system-tzdata=DIR use system time zone data in DIR --without-zlib do not use Zlib --with-gnu-ld assume the C compiler uses GNU ld [default=no] Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags,e.g. -L<lib dir> if you have libraries in a nonstandard directory <lib dir> LIBS libraries to pass to the linker,e.g. -l<library> CPPFLAGS (Objective) C/C++ preprocessor flags,e.g. -I<include dir> if you have headers in a nonstandard directory <include dir> CPP C preprocessor PKG_CONFIG path to pkg-config utility PKG_CONFIG_PATH directories to add to pkg-config's search path PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path ICU_CFLAGS C compiler flags for ICU,overriding pkg-config ICU_LIBS linker flags for ICU,overriding pkg-config LDFLAGS_EX extra linker flags for linking executables only LDFLAGS_SL extra linker flags for linking shared libraries only Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to <pgsql-bugs@postgresql.org>. [pg104@dbserver postgresql-10.4]$ ***********************************如上是查看configure的参数***********************************
[pg104@dbserver pg104]# mkdir /pgsqlbin [pg104@dbserver pg104]# mkdir /pgsqldata [root@dbserver pg104]# chown pg104:pg104 /pgsqlbin/ [root@dbserver pg104]# chown pg104:pg104 /pgsqldata/ [root@dbserver pg104]#
[pg104@dbserver postgresql-10.4]$ ./configure --prefix=/pgsqlbin [pg104@dbserver postgresql-10.4]$ make [pg104@dbserver postgresql-10.4]$ make install [pg104@dbserver postgresql-10.4]$ /pgsqlbin/bin/initdb -D /pgsqldata [pg104@dbserver postgresql-10.4]$ /pgsqlbin/bin/pg_ctl -D /pgsqldata [pg104@dbserver pgsqldata]$ /pgsqlbin/bin/pg_ctl start -D /pgsqldata
[pg104@dbserver ~]$ cat .bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH export PGHOME=/pgsqlbin export PGUSER=pg104 export PGPORT=5432 export PGDATA=/pgsqldata export PATH=$PGHOME/bin:$PATH:$HOME/bin export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH [pg104@dbserver ~]$
[pg104@dbserver ~]$ psql -d postgres psql (10.4) Type "help" for help. postgres=#