国产三级农村妇女在线,国产精品毛片a∨一区二区三区,国产乱子伦视频大全,国产精品色拉拉,国产欧美日韩一区二区三区,

首頁 > 技術(shù) > 數(shù)據(jù)庫

PostgreSQL深入淺出 | CentOS7.9安裝PG12

數(shù)據(jù)庫 2022-12-07 20:14:36

1、目錄規(guī)劃

介質(zhì)目錄: /root

程序目錄: /usr/local/pgsql

數(shù)據(jù)目錄: /usr/local/pgsql/pgdata

日志目錄: /usr/local/pgsql/pglog

歸檔目錄: /usr/local/pgsql/archive


2、創(chuàng)建相關(guān)目錄

mkdir -p /usr/local/pgsql

mkdir -p /usr/local/pgsql/pgdata

mkdir -p /usr/local/pgsql/pglog

mkdir -p /usr/local/pgsql/pgarch




3、創(chuàng)建Postgres用戶

useradd -u 2000 postgres

echo postgres | passwd --stdin postgres




4、解壓安裝介質(zhì)

cd ~

tar zxf postgresql-12.12.tar.gz -C /usr/local/pgsql




5、配置YUM倉庫

掛載系統(tǒng)介質(zhì)并配置yum

確保虛擬機(jī)光驅(qū)是連接狀態(tài)


mount /dev/sr0 /mnt




備份當(dāng)前yum


cd /etc/yum.repos.d/

mkdir bak

mv *.repo bak/


編輯repo配置文件,加入如下內(nèi)容


cat > /etc/yum.repos.d/local.repo <<EOF

[base]

name=base

baseurl=file:///mnt

enabled=1

gpgcheck=0

multilib_policy=all

EOF




yum clean all && yum makecache && yum update && yum repolist




6、安裝依賴包

yum install -y libicu-devel zlib-devel readline readline-devel perl-ExtUtils-Embed perl-ExtUtils-MakeMaker pam-devel openssl-devel openldap-devel libxml2-devel libxslt-devel systemd-devel tcl-devel gcc net-tools Python python-devel


7、編譯前檢查

cd /usr/local/pgsql/postgresql-12.12/ && mv * ..

cd .. && rm -rf postgresql-12.12 && ls




export PREFIX=/usr/local/pgsql

export PGPORT=5432

./configure


[root@localhost pgsql]# ./configure


checking build system type... x86_64-pc-Linux-gnu


checking host system type... x86_64-pc-linux-gnu


checking which template to use... linux


checking whether NLS is wanted... no


checking for default port number... 5432


checking for block size... 8kB


checking for segment size... 1GB


checking for WAL block size... 8kB


checking for gcc... gcc


checking whether the C compiler works... yes


checking for C compiler default output file name... a.out


checking for suffix of executables...


checking whether we are cross compiling... no


checking for suffix of object files... o


checking whether we are using the GNU C compiler... yes


checking whether gcc accepts -g... yes


checking for gcc option to accept ISO C89... none needed


checking for gcc option to accept ISO C99... -std=gnu99


checking for g++... no


checking for c++... no


checking whether we are using the GNU C++ compiler... no


checking whether g++ accepts -g... no


checking for gawk... gawk


checking whether gcc -std=gnu99 supports -Wdeclaration-after-statement, for CFLAGS... yes


checking whether gcc -std=gnu99 supports -Werror=vla, for CFLAGS... yes


checking whether gcc -std=gnu99 supports -Wendif-labels, for CFLAGS... yes


checking whether g++ supports -Wendif-labels, for CXXFLAGS... no


checking whether gcc -std=gnu99 supports -Wmissing-format-attribute, for CFLAGS... yes


checking whether g++ supports -Wmissing-format-attribute, for CXXFLAGS... no


checking whether gcc -std=gnu99 supports -Wformat-security, for CFLAGS... yes


checking whether g++ supports -Wformat-security, for CXXFLAGS... no


checking whether gcc -std=gnu99 supports -fno-strict-aliasing, for CFLAGS... yes


checking whether g++ supports -fno-strict-aliasing, for CXXFLAGS... no


checking whether gcc -std=gnu99 supports -fwrapv, for CFLAGS... yes


checking whether g++ supports -fwrapv, for CXXFLAGS... no


checking whether gcc -std=gnu99 supports -fexcess-precision=standard, for CFLAGS... yes


checking whether g++ supports -fexcess-precision=standard, for CXXFLAGS... no


checking whether gcc -std=gnu99 supports -funroll-loops, for CFLAGS_VECTOR... yes


checking whether gcc -std=gnu99 supports -ftree-vectorize, for CFLAGS_VECTOR... yes


checking whether gcc -std=gnu99 supports -Wunused-command-line-argument, for NOT_THE_CFLAGS... no


checking whether gcc -std=gnu99 supports -Wcompound-token-split-by-macro, for NOT_THE_CFLAGS... no


checking whether gcc -std=gnu99 supports -Wformat-truncation, for NOT_THE_CFLAGS... no


checking whether gcc -std=gnu99 supports -Wstringop-truncation, for NOT_THE_CFLAGS... no


checking whether the C compiler still works... yes


checking how to run the C preprocessor... gcc -std=gnu99 -E


checking for pkg-config... /usr/bin/pkg-config


checking pkg-config is at least version 0.9.0... yes


checking allow thread-safe client libraries... yes


checking whether to build with ICU support... no


checking whether to build with Tcl... no


checking whether to build Perl modules... no


checking whether to build Python modules... no


checking whether to build with GSSAPI support... no


checking whether to build with PAM support... no


checking whether to build with BSD Authentication support... no


checking whether to build with LDAP support... no


checking whether to build with Bonjour support... no


checking whether to build with OpenSSL support... no


checking whether to build with SELinux support... no


checking whether to build with systemd support... no


checking whether to build with XML support... no


checking for grep that handles long lines and -e... /usr/bin/grep


checking for egrep... /usr/bin/grep -E


checking for ld used by GCC... /usr/bin/ld


checking if the linker (/usr/bin/ld) is GNU ld... yes


checking for ranlib... ranlib


checking for strip... strip


checking whether it is possible to strip libraries... yes


checking for ar... ar


checking for a BSD-compatible install... /usr/bin/install -c


checking for tar... /usr/bin/tar


checking whether ln -s works... yes


checking for a thread-safe mkdir -p... /usr/bin/mkdir -p


checking for bison... no


configure: WARNING:


*** Without Bison you will not be able to build PostgreSQL from Git nor


*** change any of the parser definition files.  You can obtain Bison from


*** a GNU mirror site.  (If you are using the official distribution of


*** PostgreSQL then you do not need to worry about this, because the Bison


*** output is pre-generated.)


checking for flex... no


configure: WARNING:


*** Without Flex you will not be able to build PostgreSQL from Git nor


*** change any of the scanner definition files.  You can obtain Flex from


*** a GNU mirror site.  (If you are using the official distribution of


*** PostgreSQL then you do not need to worry about this because the Flex


*** output is pre-generated.)


checking for perl... /usr/bin/perl


configure: using perl 5.16.3


checking for a sed that does not truncate output... /usr/bin/sed


checking for ANSI C header files... yes


checking for sys/types.h... yes


checking for sys/stat.h... yes


checking for stdlib.h... yes


checking for string.h... yes


checking for memory.h... yes


checking for strings.h... yes


checking for inttypes.h... yes


checking for stdint.h... yes


checking for unistd.h... yes


checking whether gcc -std=gnu99 is Clang... no


checking whether pthreads work with -pthread... yes


checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE


checking whether more special flags are required for pthreads... no


checking for PTHREAD_PRIO_INHERIT... yes


checking pthread.h usability... yes


checking pthread.h presence... yes


checking for pthread.h... yes


checking for strerror_r... yes


checking for getpwuid_r... yes


checking for gethostbyname_r... yes


checking whether strerror_r returns int... no


checking for main in -lm... yes


checking for library containing setproctitle... no


checking for library containing dlsym... -ldl


checking for library containing socket... none required


checking for library containing shl_load... no


checking for library containing getopt_long... none required


checking for library containing crypt... -lcrypt


checking for library containing shm_open... -lrt


checking for library containing shm_unlink... none required


checking for library containing clock_gettime... none required


checking for library containing fdatasync... none required


checking for library containing sched_yield... none required


checking for library containing gethostbyname_r... none required


checking for library containing shmget... none required


checking for library containing readline... -lreadline


checking for inflate in -lz... yes


checking for stdbool.h that conforms to C99... yes


checking for _Bool... yes


checking atomic.h usability... no


checking atomic.h presence... no


checking for atomic.h... no


checking copyfile.h usability... no


checking copyfile.h presence... no


checking for copyfile.h... no


checking crypt.h usability... yes


checking crypt.h presence... yes


checking for crypt.h... yes


checking fp_class.h usability... no


checking fp_class.h presence... no


checking for fp_class.h... no


checking getopt.h usability... yes


checking getopt.h presence... yes


checking for getopt.h... yes


checking ieeefp.h usability... no


checking ieeefp.h presence... no


checking for ieeefp.h... no


checking ifaddrs.h usability... yes


checking ifaddrs.h presence... yes


checking for ifaddrs.h... yes


checking langinfo.h usability... yes


checking langinfo.h presence... yes


checking for langinfo.h... yes


checking mbarrier.h usability... no


checking mbarrier.h presence... no


checking for mbarrier.h... no


checking poll.h usability... yes


checking poll.h presence... yes


checking for poll.h... yes


checking sys/epoll.h usability... yes


checking sys/epoll.h presence... yes


checking for sys/epoll.h... yes


checking sys/ipc.h usability... yes


checking sys/ipc.h presence... yes


checking for sys/ipc.h... yes


checking sys/prctl.h usability... yes


checking sys/prctl.h presence... yes


checking for sys/prctl.h... yes


checking sys/procctl.h usability... no


checking sys/procctl.h presence... no


checking for sys/procctl.h... no


checking sys/pstat.h usability... no


checking sys/pstat.h presence... no


checking for sys/pstat.h... no


checking sys/resource.h usability... yes


checking sys/resource.h presence... yes


checking for sys/resource.h... yes


checking sys/select.h usability... yes


checking sys/select.h presence... yes


checking for sys/select.h... yes


checking sys/sem.h usability... yes


checking sys/sem.h presence... yes


checking for sys/sem.h... yes


checking sys/shm.h usability... yes


checking sys/shm.h presence... yes


checking for sys/shm.h... yes


checking sys/sockio.h usability... no


checking sys/sockio.h presence... no


checking for sys/sockio.h... no


checking sys/tas.h usability... no


checking sys/tas.h presence... no


checking for sys/tas.h... no


checking sys/un.h usability... yes


checking sys/un.h presence... yes


checking for sys/un.h... yes


checking termios.h usability... yes


checking termios.h presence... yes


checking for termios.h... yes


checking ucred.h usability... no


checking ucred.h presence... no


checking for ucred.h... no


checking utime.h usability... yes


checking utime.h presence... yes


checking for utime.h... yes


checking wchar.h usability... yes


checking wchar.h presence... yes


checking for wchar.h... yes


checking wctype.h usability... yes


checking wctype.h presence... yes


checking for wctype.h... yes


checking for net/if.h... yes


checking for sys/ucred.h... no


checking for netinet/tcp.h... yes


checking readline/readline.h usability... yes


checking readline/readline.h presence... yes


checking for readline/readline.h... yes


checking readline/history.h usability... yes


checking readline/history.h presence... yes


checking for readline/history.h... yes


checking zlib.h usability... yes


checking zlib.h presence... yes


checking for zlib.h... yes


checking whether byte ordering is bigendian... no


checking for inline... inline


checking for printf format archetype... gnu_printf


checking for flexible array members... yes


checking for signed types... yes


checking for __func__... yes


checking for _Static_assert... yes


checking for typeof... typeof


checking for __builtin_types_compatible_p... yes


checking for __builtin_constant_p... yes


checking for __builtin_unreachable... yes


checking for computed goto support... yes


checking whether struct tm is in sys/time.h or time.h... time.h


checking for struct tm.tm_zone... yes


checking for tzname... yes


checking for union semun... no


checking for struct sockaddr_un... yes


checking for struct sockaddr_storage... yes


checking for struct sockaddr_storage.ss_family... yes


checking for struct sockaddr_storage.__ss_family... no


checking for struct sockaddr_storage.ss_len... no


checking for struct sockaddr_storage.__ss_len... no


checking for struct sockaddr.sa_len... no


checking for struct addrinfo... yes


checking for intptr_t... yes


checking for uintptr_t... yes


checking for unsigned long long int... yes


checking for long long int... yes


checking for locale_t... yes


checking for C/C++ restrict keyword... __restrict


checking for struct cmsgcred... no


checking for struct option... yes


checking for z_streamp... yes


checking whether assembler supports x86_64 popcntq... yes


checking for special C compiler options needed for large files... no


checking for _FILE_OFFSET_BITS value needed for large files... no


checking size of off_t... 8


checking size of bool... 1


checking for int timezone... yes


checking types of arguments for accept()... int, int, struct sockaddr *, socklen_t *


checking whether gettimeofday takes only one argument... no


checking for wcstombs_l declaration... no


checking for cbrt... yes


checking for clock_gettime... yes


checking for copyfile... no


checking for fdatasync... yes


checking for getifaddrs... yes


checking for getpeerucred... no


checking for getrlimit... yes


checking for mbstowcs_l... no


checking for memmove... yes


checking for poll... yes


checking for posix_fallocate... yes


checking for ppoll... yes


checking for pstat... no


checking for pthread_is_threaded_np... no


checking for readlink... yes


checking for setproctitle... no


checking for setproctitle_fast... no


checking for setsid... yes


checking for shm_open... yes


checking for strchrnul... yes


checking for strsignal... yes


checking for symlink... yes


checking for sync_file_range... yes


checking for uselocale... yes


checking for utime... yes


checking for utimes... yes


checking for wcstombs_l... no


checking for __builtin_bswap16... yes


checking for __builtin_bswap32... yes


checking for __builtin_bswap64... yes


checking for __builtin_clz... yes


checking for __builtin_ctz... yes


checking for __builtin_popcount... yes


checking for __builtin_frame_address... yes


checking for fseeko... yes


checking for _LARGEFILE_SOURCE value needed for large files... no


checking how gcc -std=gnu99 reports undeclared, standard C functions... error


checking for posix_fadvise... yes


checking whether posix_fadvise is declared... yes


checking whether fdatasync is declared... yes


checking whether strlcat is declared... no


checking whether strlcpy is declared... no


checking whether strnlen is declared... yes


checking whether F_FULLFSYNC is declared... no


checking whether RTLD_GLOBAL is declared... yes


checking whether RTLD_NOW is declared... yes


checking for struct sockaddr_in6... yes


checking for PS_STRINGS... no


checking for isinf... yes


checking for crypt... yes


checking for dlopen... yes


checking for fls... no


checking for getopt... yes


checking for getrusage... yes


checking for inet_aton... yes


checking for mkdtemp... yes


checking for pread... yes


checking for pwrite... yes


checking for random... yes


checking for rint... yes


checking for srandom... yes


checking for strlcat... no


checking for strlcpy... no


checking for strnlen... yes


checking for strtof... yes


checking for setenv... yes


checking for unsetenv... yes


checking for getpeereid... no


checking for getaddrinfo... yes


checking for getopt_long... yes


checking for syslog... yes


checking syslog.h usability... yes


checking syslog.h presence... yes


checking for syslog.h... yes


checking for opterr... yes


checking for optreset... no


checking for strtoll... yes


checking for strtoull... yes


checking whether strtoll is declared... yes


checking whether strtoull is declared... yes


checking for rl_completion_append_character... yes


checking for rl_completion_matches... yes


checking for rl_filename_completion_function... yes


checking for rl_reset_screen_size... yes


checking for append_history... yes


checking for history_truncate_file... yes


checking test program... ok


checking whether long int is 64 bits... yes


checking for __builtin_mul_overflow... no


checking size of void *... 8


checking size of size_t... 8


checking size of long... 8


checking whether to build with float4 passed by value... yes


checking whether to build with float8 passed by value... yes


checking alignment of short... 2


checking alignment of int... 4


checking alignment of long... 8


checking alignment of double... 8


checking for int8... no


checking for uint8... no


checking for int64... no


checking for uint64... no


checking for __int128... yes


checking for __int128 alignment bug... ok


checking alignment of PG_INT128_TYPE... 16


checking for builtin __sync char locking functions... yes


checking for builtin __sync int32 locking functions... yes


checking for builtin __sync int32 atomic operations... yes


checking for builtin __sync int64 atomic operations... yes


checking for builtin __atomic int32 atomic operations... yes


checking for builtin __atomic int64 atomic operations... yes


checking for __get_cpuid... yes


checking for __cpuid... no


checking for _mm_crc32_u8 and _mm_crc32_u32 with CFLAGS=... no


checking for _mm_crc32_u8 and _mm_crc32_u32 with CFLAGS=-msse4.2... yes


checking for __crc32cb, __crc32ch, __crc32cw, and __crc32cd with CFLAGS=... no


checking for __crc32cb, __crc32ch, __crc32cw, and __crc32cd with CFLAGS=-march=armv8-a+crc... no


checking which CRC-32C implementation to use... SSE 4.2 with runtime check


checking for library containing sem_init... -lpthread


checking which semaphore API to use... unnamed POSIX


checking for /dev/urandom... yes


checking which random number source to use... /dev/urandom


checking for xmllint... /usr/bin/xmllint


checking for xsltproc... /usr/bin/xsltproc


checking for fop... no


checking for dbtoepub... no


checking thread safety of required library functions... yes


checking whether gcc -std=gnu99 supports -Wl,--as-needed... yes


configure: using compiler=gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)


configure: using CFLAGS=-Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2


configure: using CPPFLAGS= -D_GNU_SOURCE


configure: using LDFLAGS=  -Wl,--as-needed


configure: creating ./config.status


config.status: creating GNUmakefile


config.status: creating src/Makefile.global


config.status: creating src/include/pg_config.h


config.status: creating src/include/pg_config_ext.h


config.status: creating src/interfaces/ecpg/include/ecpg_config.h


config.status: linking src/backend/port/tas/dummy.s to src/backend/port/tas.s


config.status: linking src/backend/port/posix_sema.c to src/backend/port/pg_sema.c


config.status: linking src/backend/port/sysv_shmem.c to src/backend/port/pg_shmem.c


config.status: linking src/include/port/linux.h to src/include/pg_config_os.h


config.status: linking src/makefiles/Makefile.linux to src/Makefile.port


[root@localhost pgsql]#


8、開始編譯

# make world


9、編譯安裝

# make install-world


10、安裝擴(kuò)展模塊

cd /usr/local/pgsql/contrib

make

make install


11、配置環(huán)境變量

su - postgres


cat >>/home/postgres/.bashrc<<EOF


export PGHOME=/usr/local/pgsql


export LD_LIBRARY_PATH=${PGHOME}/lib:${LD_LIBRARY_PATH}


export PGDATA=${PGHOME}/pgdata


export PATH=${PGHOME}/bin:${PATH}


EOF


環(huán)境生效

source ~//.bashrc && . ~/.bashrc


12、root用戶給文件重新賦權(quán)

chown -R postgres:postgres /usr/local/pgsql


13、簡單初始化數(shù)據(jù)庫

su - postgres

initdb -D $PGDATA -W -U postgres --指定數(shù)據(jù)文件存放目錄,并指定一個(gè)用戶




至此,安裝完成。


TAg

加載中~

本網(wǎng)站LOGO受版權(quán)及商標(biāo)保護(hù),版權(quán)登記號:國作登字-2022-F-10126915,未經(jīng)湖南木星科技官方許可,嚴(yán)禁使用。
Copyright ? 2012-2022 湖南木星科技有限公司(木星網(wǎng))版權(quán)所有
轉(zhuǎn)載內(nèi)容版權(quán)歸作者及來源網(wǎng)站所有,本站原創(chuàng)內(nèi)容轉(zhuǎn)載請注明來源,商業(yè)媒體及紙媒請先聯(lián)系:aishangyiwan@126.com

工信部備案號:湘ICP備19012813號-5