在 AnolisOS8.2 上用源码编译方式安装 Postgresql15.2

编程入门 行业动态 更新时间:2024-10-21 11:47:29

在 AnolisOS8.2 上用<a href=https://www.elefans.com/category/jswz/34/1770099.html style=源码编译方式安装 Postgresql15.2"/>

在 AnolisOS8.2 上用源码编译方式安装 Postgresql15.2

在 AnolisOS8.2 上用源码编译方式安装 Postgresql15.2

    • 确认环境
    • 关闭防火墙
    • 安装依赖
    • 修改主机名和host文件
    • 修改内核参数
    • 确认时区
    • 创建postgres用户名和用户组
    • 创建数据库目录并授权
    • 修改安全限制
    • 获取源码并解压缩
    • 源码编译
    • 初始化数据库
    • 修改参数
    • 检查数据库状态
    • 启动数据库
    • 登录数据库
    • 关闭数据库

确认环境

[root@pg ~]# uname -osr
Linux 4.18.0-193.el8.x86_64 GNU/Linux
[root@pg ~]# more /etc/redhat-release
Anolis OS release 8.2

关闭防火墙

[root@pg ~]# systemctl stop firewalld
[root@pg ~]# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@pg ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)Active: inactive (dead)Docs: man:firewalld(1)3月 17 01:51:38 pg systemd[1]: Starting firewalld - dynamic firewall daemon...
3月 17 01:51:39 pg systemd[1]: Started firewalld - dynamic firewall daemon.
3月 17 01:51:40 pg firewalld[1042]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure configuration option. >
3月 18 18:10:51 pg systemd[1]: Stopping firewalld - dynamic firewall daemon...
3月 18 18:10:53 pg systemd[1]: Stopped firewalld - dynamic firewall daemon.
[root@pg ~]# vim /etc/selinux/config
[root@pg ~]# cat /etc/selinux/config # This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disable
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

安装依赖

[root@pg ~]# yum -y install readline readline-devel zlib zlib-devel gettext gettext-devel openssl openssl-devel pam pam-devel libxml2 libxml2-devel libxslt libxslt-devel perl perl-devel tcl-devel uuid-devel gcc gcc-c++ make flex bison perl-ExtUtils*
已安装:annobin-10.67-3.0.1.an8.x86_64                                                                                                 bison-3.7.4-5.an8.x86_64                                                                                                       cmake-filesystem-3.20.2-4.0.1.an8.x86_64                                                                                       cpp-8.5.0-10.1.0.3.an8.x86_64                                                                                                  dwz-0.14-3.an8.x86_64                                                                                                          efi-srpm-macros-3-3.0.3.an8.noarch                                                                                             flex-2.6.4-9.an8.x86_64                                                                                                        gcc-8.5.0-10.1.0.3.an8.x86_64                                                                                                  gcc-c++-8.5.0-10.1.0.3.an8.x86_64                                                                                              gettext-common-devel-0.19.8.1-17.0.1.an8.noarch                                                                                gettext-devel-0.19.8.1-17.0.1.an8.x86_64                                                                                       ghc-srpm-macros-1.4.2-7.el8.noarch                                                                                             glibc-devel-2.28-189.5.0.2.an8_6.x86_64                                                                                        glibc-gconv-extra-2.28-189.5.0.2.an8_6.x86_64                                                                                  glibc-headers-2.28-189.5.0.2.an8_6.x86_64                                                                                      go-srpm-macros-2-17.0.2.an8.noarch                                                                                             isl-0.16.1-6.0.1.an8.x86_64                                                                                                    keyutils-libs-devel-1.5.10-9.an8.x86_64                                                                                        krb5-devel-1.18.2-22.0.1.an8_7.x86_64                                                                                          libasan-8.5.0-10.1.0.3.an8.x86_64                                                                                              libatomic-8.5.0-10.1.0.3.an8.x86_64                                                                                            libcom_err-devel-1.46.0-1.0.1.an8.x86_64                                                                                       libgcrypt-devel-1.8.5-7.0.1.an8_6.x86_64                                                                                       libgpg-error-devel-1.42-5.0.1.an8.x86_64                                                                                       libkadm5-1.18.2-22.0.1.an8_7.x86_64                                                                                            libmpc-1.1.0-9.1.an8.x86_64                                                                                                    libselinux-devel-2.9-6.an8.x86_64                                                                                              libsepol-devel-2.9-3.0.1.an8.x86_64                                                                                            libstdc++-devel-8.5.0-10.1.0.3.an8.x86_64                                                                                      libubsan-8.5.0-10.1.0.3.an8.x86_64                                                                                             libverto-devel-0.3.2-2.an8.x86_64                                                                                              libxcrypt-devel-4.1.1-6.0.3.an8.x86_64                                                                                         libxml2-devel-2.9.7-15.0.1.an8.1.x86_64                                                                                        libxslt-devel-1.1.32-6.0.1.an8.x86_64                                                                                          m4-1.4.18-7.0.1.an8.x86_64                                                                                                     make-1:4.2.1-11.0.1.an8.x86_64                                                                                                 ncurses-c++-libs-6.1-9.20180224.0.1.an8.x86_64                                                                                 ncurses-devel-6.1-9.20180224.0.1.an8.x86_64                                                                                    ocaml-srpm-macros-5-4.el8.noarch                                                                                               openblas-srpm-macros-2-2.0.1.an8.noarch                                                                                        openssl-devel-1:1.1.1k-7.0.2.an8.x86_64                                                                                        pam-devel-1.3.1-22.0.1.an8.x86_64                                                                                              pcre2-devel-10.32-3.0.1.an8_6.x86_64                                                                                           pcre2-utf16-10.32-3.0.1.an8_6.x86_64                                                                                           pcre2-utf32-10.32-3.0.1.an8_6.x86_64                                                                                           perl-4:5.26.3-421.0.1.an8.x86_64                                                                                               perl-Algorithm-Diff-1.1903-9.0.1.an8.noarch                                                                                    perl-Archive-Tar-2.30-1.0.1.an8.noarch                                                                                         perl-Archive-Zip-1.60-3.el8.noarch                                                                                             perl-Attribute-Handlers-0.99-421.0.1.an8.noarch                                                                                perl-B-Debug-1.26-2.0.1.an8.noarch                                                                                             perl-CPAN-2.18-397.0.1.an8.noarch                                                                                              perl-CPAN-Meta-2.150010-396.0.1.an8.noarch                                                                                     perl-CPAN-Meta-Requirements-2.140-396.0.1.an8.noarch                                                                           perl-CPAN-Meta-YAML-0.018-397.0.1.an8.noarch                                                                                   perl-Compress-Bzip2-2.26-6.0.1.an8.x86_64                                                                                      perl-Compress-Raw-Bzip2-2.081-1.0.1.an8.x86_64                                                                                 perl-Compress-Raw-Zlib-2.081-1.0.2.an8.x86_64                                                                                  perl-Config-Perl-V-0.30-1.0.1.an8.noarch                                                                                       perl-DB_File-1.842-1.0.1.an8.x86_64                                                                                            perl-Data-Dumper-2.167-399.0.2.an8.x86_64                                                                                      perl-Data-OptList-0.110-6.0.1.an8.noarch                                                                                       perl-Data-Section-0.200007-3.el8.noarch                                                                                        perl-Devel-PPPort-3.36-5.0.1.an8.x86_64                                                                                        perl-Devel-Peek-1.26-421.0.1.an8.x86_64                                                                                        perl-Devel-SelfStubber-1.06-421.0.1.an8.noarch                                                                                 perl-Devel-Size-0.81-2.0.1.an8.x86_64                                                                                          perl-Digest-1.17-395.0.1.an8.noarch                                                                                            perl-Digest-MD5-2.55-396.0.1.an8.x86_64                                                                                        perl-Digest-SHA-1:6.02-1.an8.x86_64                                                                                            perl-Encode-4:2.97-3.0.1.an8.x86_64                                                                                            perl-Encode-Locale-1.05-10.module+an8.7.0+10932+615184cb.noarch                                                                perl-Encode-devel-4:2.97-3.0.1.an8.x86_64                                                                                      perl-Env-1.04-395.0.1.an8.noarch                                                                                               perl-ExtUtils-CBuilder-1:0.280230-2.0.1.an8.noarch                                                                             perl-ExtUtils-CBuilder-doc-1:0.280230-2.0.1.an8.noarch                                                                         perl-ExtUtils-Command-1:7.34-1.0.1.an8.noarch                                                                                  perl-ExtUtils-Embed-1.34-421.0.1.an8.noarch                                                                                    perl-ExtUtils-Install-2.14-4.0.1.an8.noarch                                                                                    perl-ExtUtils-Install-doc-2.14-4.0.1.an8.noarch                                                                                perl-ExtUtils-MM-Utils-1:7.34-1.0.1.an8.noarch                                                                                 perl-ExtUtils-MakeMaker-1:7.34-1.0.1.an8.noarch                                                                                perl-ExtUtils-MakeMaker-doc-1:7.34-1.0.1.an8.noarch                                                                            perl-ExtUtils-Manifest-1.70-395.0.1.an8.noarch                                                                                 perl-ExtUtils-Manifest-doc-1.70-395.0.1.an8.noarch                                                                             perl-ExtUtils-Miniperl-1.06-421.0.1.an8.noarch                                                                                 perl-ExtUtils-ParseXS-1:3.35-2.0.1.an8.noarch                                                                                  perl-ExtUtils-ParseXS-doc-1:3.35-2.0.1.an8.noarch                                                                              perl-File-Fetch-0.56-2.0.1.an8.noarch                                                                                          perl-File-HomeDir-1.002-4.0.1.an8.noarch                                                                                       perl-File-Temp-0.230.600-1.0.1.an8.noarch                                                                                      perl-File-Which-1.22-2.0.1.an8.noarch                                                                                          perl-Filter-2:1.58-2.0.1.an8.x86_64                                                                                            perl-Filter-Simple-0.94-2.0.1.an8.noarch                                                                                       perl-Getopt-Long-1:2.50-4.0.1.an8.noarch                                                                                       perl-HTTP-Tiny-0.074-1.0.1.an8.noarch                                                                                          perl-IO-Compress-2.081-1.0.1.an8.noarch                                                                                        perl-IO-Socket-IP-0.39-5.0.1.an8.noarch                                                                                        perl-IO-Socket-SSL-2.066-4.module+an8.7.0+10903+63bf0065.noarch                                                                perl-IO-Zlib-1:1.10-421.0.1.an8.noarch                                                                                         perl-IPC-Cmd-2:1.02-1.0.1.an8.noarch                                                                                           perl-IPC-SysV-2.07-397.0.1.an8.x86_64                                                                                          perl-IPC-System-Simple-1.25-17.0.1.an8.noarch                                                                                  perl-JSON-PP-1:2.97.001-3.0.1.an8.noarch                                                                                       perl-Locale-Codes-3.57-1.0.1.an8.noarch                                                                                        perl-Locale-Maketext-1.28-396.0.1.an8.noarch                                                                                   perl-Locale-Maketext-Simple-1:0.21-421.0.1.an8.noarch                                                                          perl-MIME-Base64-3.15-396.0.1.an8.x86_64                                                                                       perl-MRO-Compat-0.13-4.0.1.an8.noarch                                                                                          perl-Math-BigInt-1:1.9998.11-7.0.1.an8.noarch                                                                                  perl-Math-BigInt-FastCalc-0.500.600-6.0.1.an8.x86_64                                                                           perl-Math-BigRat-0.2614-1.0.1.an8.noarch                                                                                       perl-Math-Complex-1.59-421.0.1.an8.noarch                                                                                      perl-Memoize-1.03-421.0.1.an8.noarch                                                                                           perl-Module-Build-2:0.42.24-5.0.1.an8.noarch                                                                                   perl-Module-CoreList-1:5.20181130-1.0.1.an8.noarch                                                                             perl-Module-CoreList-tools-1:5.20181130-1.0.1.an8.noarch                                                                       perl-Module-Load-1:0.32-395.0.1.an8.noarch                                                                                     perl-Module-Load-Conditional-0.68-395.0.1.an8.noarch                                                                           perl-Module-Loaded-1:0.08-421.0.1.an8.noarch                                                                                   perl-Module-Metadata-1.000033-395.0.1.an8.noarch                                                                               perl-Mozilla-CA-20160104-7.module+an8.7.0+10932+615184cb.noarch                                                                perl-Net-Ping-2.55-421.0.1.an8.noarch                                                                                          perl-Net-SSLeay-1.88-2.module+an8.7.0+10903+63bf0065.x86_64                                                                    perl-Package-Generator-1.106-11.0.1.an8.noarch                                                                                 perl-Params-Check-1:0.38-395.0.1.an8.noarch                                                                                    perl-Params-Util-1.07-22.0.1.an8.x86_64                                                                                        perl-Perl-OSType-1.010-396.0.1.an8.noarch                                                                                      perl-PerlIO-via-QuotedPrint-0.08-395.0.1.an8.noarch                                                                            perl-Pod-Checker-4:1.73-395.0.1.an8.noarch                                                                                     perl-Pod-Escapes-1:1.07-395.0.1.an8.noarch                                                                                     perl-Pod-Html-1.22.02-421.0.1.an8.noarch                                                                                       perl-Pod-Parser-1.63-396.0.1.an8.noarch                                                                                        perl-Pod-Perldoc-3.28-396.0.1.an8.noarch                                                                                       perl-Pod-Simple-1:3.35-395.0.1.an8.noarch                                                                                      perl-Pod-Usage-4:1.69-395.0.1.an8.noarch                                                                                       perl-SelfLoader-1.23-421.0.1.an8.noarch                                                                                        perl-Software-License-0.103013-2.0.1.an8.noarch                                                                                perl-Storable-1:3.11-3.0.1.an8.x86_64                                                                                          perl-Sub-Exporter-0.987-15.0.1.an8.noarch                                                                                      perl-Sub-Install-0.928-14.0.1.an8.noarch                                                                                       perl-Sys-Syslog-0.35-397.0.1.an8.x86_64                                                                                        perl-Term-ANSIColor-4.06-396.0.1.an8.noarch                                                                                    perl-Term-Cap-1.17-395.0.1.an8.noarch                                                                                          perl-TermReadKey-2.37-7.0.1.an8.x86_64                                                                                         perl-Test-1.30-421.0.1.an8.noarch                                                                                              perl-Test-Harness-1:3.42-1.0.1.an8.noarch                                                                                      perl-Test-Simple-1:1.302135-1.0.1.an8.noarch                                                                                   perl-Text-Balanced-2.03-395.0.1.an8.noarch                                                                                     perl-Text-Diff-1.45-2.0.1.an8.noarch                                                                                           perl-Text-Glob-0.11-4.0.1.an8.noarch                                                                                           perl-Text-ParseWords-3.30-395.0.1.an8.noarch                                                                                   perl-Text-Template-1.51-1.0.1.an8.noarch                                                                                       perl-Thread-Queue-3.13-1.0.1.an8.noarch                                                                                        perl-Time-HiRes-4:1.9758-2.0.1.an8.x86_64                                                                                      perl-Time-Local-1:1.280-1.0.1.an8.noarch                                                                                       perl-Time-Piece-1.31-421.0.1.an8.x86_64                                                                                        perl-URI-1.73-3.el8.noarch                                                                                                     perl-Unicode-Collate-1.25-2.0.1.an8.x86_64                                                                                     perl-autodie-2.29-396.0.1.an8.noarch                                                                                           perl-bignum-0.49-2.0.1.an8.noarch                                                                                              perl-devel-4:5.26.3-421.0.1.an8.x86_64                                                                                         perl-encoding-4:2.22-3.0.1.an8.x86_64                                                                                          perl-experimental-0.019-2.0.1.an8.noarch                                                                                       perl-inc-latest-2:0.500-9.0.1.an8.noarch                                                                                       perl-libnet-3.11-3.0.1.an8.noarch                                                                                              perl-libnetcfg-4:5.26.3-421.0.1.an8.noarch                                                                                     perl-local-lib-2.000024-2.0.1.an8.noarch                                                                                       perl-open-1.11-421.0.1.an8.noarch                                                                                              perl-perlfaq-5.20180605-1.0.1.an8.noarch                                                                                       perl-podlators-4.11-1.0.1.an8.noarch                                                                                           perl-srpm-macros-1-25.el8.noarch                                                                                               perl-utils-5.26.3-421.0.1.an8.noarch                                                                                           perl-version-6:0.99.24-1.0.2.an8.x86_64                                                                                        python-rpm-macros-3-43.an8.noarch                                                                                              python-srpm-macros-3-43.an8.noarch                                                                                             python3-pyparsing-2.1.10-7.el8.noarch                                                                                          python3-rpm-macros-3-43.an8.noarch                                                                                             qt5-srpm-macros-5.15.2-1.an8.noarch                                                                                            readline-devel-7.0-10.0.1.an8.x86_64                                                                                           rust-srpm-macros-5-2.0.1.an8.noarch                                                                                            system-rpm-config-129-1.0.2.an8.noarch                                                                                         systemtap-sdt-devel-4.6-4.an8.x86_64                                                                                           tcl-1:8.6.8-2.el8.x86_64                                                                                                       tcl-devel-1:8.6.8-2.el8.x86_64                                                                                                 uuid-1.6.2-43.0.1.an8.x86_64                                                                                                   uuid-devel-1.6.2-43.0.1.an8.x86_64                                                                                             xz-devel-5.2.4-4.an8_6.x86_64                                                                                                  zlib-devel-1.2.11-19.0.1.an8_6.x86_64                                                                                          完毕!

修改主机名和host文件

[root@pg ~]# cat /etc/hostname
pg
[root@pg ~]# hostname
pg
[root@pg ~]# cat>>/etc/hosts<<EOF
> 192.168.109.101 pg
> EOF
[root@pg ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.109.101 pg

修改内核参数

[root@pg ~]# vim /etc/sysctl.conf
[root@pg ~]# cat /etc/sysctl.conf
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
#
fs.file-max = 76724200
kernel.sem = 10000 10240000 10000 1024
kernel.shmmni = 4096
kernel.shmall = 253702
kernel.shmmax = 1039163392
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
fs.aio-max-nr = 40960000
vm.dirty_ratio=20
vm.dirty_background_ratio=3
vm.dirty_writeback_centisecs=100
vm.dirty_expire_centisecs=500
vm.swappiness=10
vm.min_free_kbytes=524288
vm.swappiness=0
vm.overcommit_memory=2
vm.overcommit_ratio=75
net.ipv4.ip_local_port_range = 10000 65535

使参数生效

[root@pg ~]# sysctl -p
fs.file-max = 76724200
kernel.sem = 10000 10240000 10000 1024
kernel.shmmni = 4096
kernel.shmall = 253702
kernel.shmmax = 1039163392
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
fs.aio-max-nr = 40960000
vm.dirty_ratio = 20
vm.dirty_background_ratio = 3
vm.dirty_writeback_centisecs = 100
vm.dirty_expire_centisecs = 500
vm.swappiness = 10
vm.min_free_kbytes = 524288
vm.swappiness = 0
vm.overcommit_memory = 2
vm.overcommit_ratio = 75
net.ipv4.ip_local_port_range = 10000 65535

确认时区

[root@pg ~]# timedatectl statusLocal time: 五 2023-03-17 02:13:22 CSTUniversal time: 四 2023-03-16 18:13:22 UTCRTC time: 四 2023-03-16 18:13:22Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: noNTP service: activeRTC in local TZ: no

创建postgres用户名和用户组

[root@pg ~]# userdel -r postgres
userdel:用户“postgres”不存在
[root@pg ~]# groupdel dba
groupdel:“dba”组不存在
[root@pg ~]# groupadd dba -g 2000
[root@pg ~]# useradd postgres -g 2000
[root@pg ~]# id postgres
uid=1000(postgres) gid=2000(dba) 组=2000(dba)
[root@pg ~]# echo "postgres123" | passwd --stdin postgres
更改用户 postgres 的密码 。
passwd:所有的身份验证令牌已经成功更新。

创建数据库目录并授权

[root@pg ~]# mkdir /soft
[root@pg ~]# mkdir -p /opt/pg
[root@pg ~]# mkdir -p /opt/pgdata
[root@pg ~]# mkdir -p /opt/pgwal
[root@pg ~]# mkdir -p /opt/pgarchive
[root@pg ~]# chown -R postgres:dba /soft /opt/pg /opt/pgdata /opt/pgwal /opt/pgarchive
[root@pg ~]# chmod 0700 /opt/pgdata /opt/pgwal /opt/pgarchive
[root@pg ~]# ll /opt
总用量 0
drwxr-xr-x. 2 postgres dba 6 3月  17 02:17 pg
drwx------. 2 postgres dba 6 3月  17 02:17 pgarchive
drwx------. 2 postgres dba 6 3月  17 02:17 pgdata
drwx------. 2 postgres dba 6 3月  17 02:17 pgwal

修改安全限制

[root@pg ~]# vim /etc/security/limits.conf
[root@pg ~]# cat /etc/security/limits.conf
# /etc/security/limits.conf
# End of filepostgres soft nofile 1048576
postgres hard nofile 1048576
postgres soft nproc 131072
postgres hard nproc 131072
postgres soft stack 10240
postgres hard stack 32768
postgres soft core 6291456
postgres hard core 6291456

获取源码并解压缩

[root@pg ~]# su - postgres
[postgres@pg ~]$ cd /soft
[postgres@pg soft]$ wget .2/postgresql-15.2.tar.gz
--2023-03-17 02:24:20--  .2/postgresql-15.2.tar.gz
正在解析主机 ftp.postgresql (ftp.postgresql)... 217.196.149.55, 87.238.57.227, 147.75.85.69, ...
正在连接 ftp.postgresql (ftp.postgresql)|217.196.149.55|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:29811750 (28M) [application/octet-stream]
正在保存至: “postgresql-15.2.tar.gz”postgresql-15.2.tar.gz           100%[=======================================================>]  28.43M  8.04MB/s  用时 4.7s    2023-03-17 02:24:27 (6.02 MB/s) - 已保存 “postgresql-15.2.tar.gz” [29811750/29811750])
[postgres@pg soft]$ tar -zxvf postgresql-15.2.tar.gz
postgresql-15.2/.cirrus.yml
postgresql-15.2/HISTORY
postgresql-15.2/Makefile
postgresql-15.2/README
postgresql-15.2/COPYRIGHT
postgresql-15.2/GNUmakefile.in
postgresql-15.2/.gitattributes
postgresql-15.2/aclocal.m4
postgresql-15.2/INSTALL

源码编译

[postgres@pg soft]$ cd postgresql-15.2/
[postgres@pg postgresql-15.2]$ ./configure --prefix=/opt/pg12 --with-pgport=5432
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[postgres@pg postgresql-15.2]$ gmake world
gmake[2]: 离开目录“/soft/postgresql-15.2/contrib/unaccent”
gmake -C vacuumlo all
gmake[2]: 进入目录“/soft/postgresql-15.2/contrib/vacuumlo”
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -O2 -I../../src/interfaces/libpq -I. -I. -I../../src/include  -D_GNU_SOURCE   -c -o vacuumlo.o vacuumlo.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -O2  vacuumlo.o -L../../src/common -lpgcommon -L../../src/port -lpgport -L../../src/interfaces/libpq -lpq -L../../src/port -L../../src/common   -Wl,--as-needed -Wl,-rpath,'/opt/pg12/lib',--enable-new-dtags   -lpgcommon -lpgport -lz -lreadline -lpthread -lrt -ldl -lm  -o vacuumlo
gmake[2]: 离开目录“/soft/postgresql-15.2/contrib/vacuumlo”
gmake[1]: 离开目录“/soft/postgresql-15.2/contrib”[postgres@pg postgresql-15.2]$ gmake install-world
gmake[2]: 离开目录“/soft/postgresql-15.2/contrib/unaccent”
gmake -C vacuumlo install
gmake[2]: 进入目录“/soft/postgresql-15.2/contrib/vacuumlo”
/usr/bin/mkdir -p '/opt/pg12/bin'
/usr/bin/install -c  vacuumlo '/opt/pg12/bin'
gmake[2]: 离开目录“/soft/postgresql-15.2/contrib/vacuumlo”
gmake[1]: 离开目录“/soft/postgresql-15.2/contrib”

确认版本

[postgres@pg postgresql-15.2]$ /opt/pg12/bin/postgres --version
postgres (PostgreSQL) 15.2

初始化数据库

链接目录

[postgres@pg postgresql-15.2]$ cd /opt
[postgres@pg opt]$ ln -s /opt/pg12 /opt/pgsql
[postgres@pg opt]$ ll
总用量 0
drwxr-xr-x. 6 postgres dba 56 3月  17 02:45 pg12
drwx------. 2 postgres dba  6 3月  17 02:17 pgarchive
drwx------. 2 postgres dba  6 3月  17 02:17 pgdata
lrwxrwxrwx. 1 postgres dba  9 3月  17 02:46 pgsql -> /opt/pg12
drwx------. 2 postgres dba  6 3月  17 02:17 pgwal

初始化数据库

[postgres@pg opt]$ /opt/pgsql/bin/initdb -D/opt/pgdata -X/opt/pgwal -EUTF8 -Upostgres -W
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.The database cluster will be initialized with locale "zh_CN.UTF-8".
initdb: could not find suitable text search configuration for locale "zh_CN.UTF-8"
The default text search configuration will be set to "simple".Data page checksums are disabled.Enter new superuser password: 
Enter it again: fixing permissions on existing directory /opt/pgdata ... ok
fixing permissions on existing directory /opt/pgwal ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default time zone ... Asia/Shanghai
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... okinitdb: warning: enabling "trust" authentication for local connections
initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.Success. You can now start the database server using:/opt/pgsql/bin/pg_ctl -D /opt/pgdata -l logfile start

修改参数

[root@pg ~]# vim /opt/pgdata/postgresql.conf

检查数据库状态

[root@pg ~]# /opt/pgsql/bin/pg_ctl -D /opt/pgdata status
pg_ctl: cannot be run as root
Please log in (using, e.g., "su") as the (unprivileged) user that will
own the server process.
[root@pg ~]# su - postgres
[postgres@pg ~]$ /opt/pgsql/bin/pg_ctl -D /opt/pgdata status
pg_ctl: no server running

启动数据库

启动服务

[postgres@pg ~]$ /opt/pgsql/bin/pg_ctl -D /opt/pgdata start &
[1] 52120
[postgres@pg ~]$ waiting for server to start....2023-03-17 15:15:38.975 CST [52122] LOG:  redirecting log output to logging collector process
2023-03-17 15:15:38.975 CST [52122] HINT:  Future log output will appear in directory "log".done
server started[1]+  已完成               /opt/pgsql/bin/pg_ctl -D /opt/pgdata start

检查状态

[postgres@pg ~]$ /opt/pgsql/bin/pg_ctl -D /opt/pgdata status
pg_ctl: server is running (PID: 52122)
/opt/pg12/bin/postgres "-D" "/opt/pgdata"

检查进程

[postgres@pg ~]$ ps -ef | grep postgres
root       52074   50089  0 15:13 pts/0    00:00:00 su - postgres
postgres   52075   52074  0 15:13 pts/0    00:00:00 -bash
postgres   52122       1  0 15:15 ?        00:00:00 /opt/pg12/bin/postgres -D /opt/pgdata
postgres   52123   52122  0 15:15 ?        00:00:00 postgres: logger 
postgres   52124   52122  0 15:15 ?        00:00:00 postgres: checkpointer 
postgres   52125   52122  0 15:15 ?        00:00:00 postgres: background writer 
postgres   52127   52122  0 15:15 ?        00:00:00 postgres: walwriter 
postgres   52128   52122  0 15:15 ?        00:00:00 postgres: autovacuum launcher 
postgres   52129   52122  0 15:15 ?        00:00:00 postgres: archiver 
postgres   52130   52122  0 15:15 ?        00:00:00 postgres: logical replication launcher 
postgres   52140   52075  0 15:16 pts/0    00:00:00 ps -ef
postgres   52141   52075  0 15:16 pts/0    00:00:00 grep --color=auto postgres

登录数据库

[postgres@pg ~]$ /opt/pgsql/bin/psql
psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: 没有那个文件或目录Is the server running locally and accepting connections on that socket?[postgres@pg ~]$ /opt/pgsql/bin/psql -U postgres -h localhost
psql (15.2)
Type "help" for help.postgres=# \?
General\copyright             show PostgreSQL usage and distribution terms\crosstabview [COLUMNS] execute query and display result in crosstab\errverbose            show most recent error message at maximum verbosity\g [(OPTIONS)] [FILE]  execute query (and send result to file or |pipe);\g with no arguments is equivalent to a semicolon\gdesc                 describe result of query, without executing it\gexec                 execute query, then execute each value in its result\gset [PREFIX]         execute query and store result in psql variables\gx [(OPTIONS)] [FILE] as \g, but forces expanded output mode\q                     quit psql\watch [SEC]           execute query every SEC secondsHelp\? [commands]          show help on backslash commands\? options             show help on psql command-line options\? variables           show help on special variables\h [NAME]              help on syntax of SQL commands, * for all commandsQuery Buffer\e [FILE] [LINE]       edit the query buffer (or file) with external editor\ef [FUNCNAME [LINE]]  edit function definition with external editor\ev [VIEWNAME [LINE]]  edit view definition with external editor\p                     show the contents of the query buffer\r                     reset (clear) the query buffer\s [FILE]              display history or save it to file\w FILE                write query buffer to fileInput/Output\copy ...              perform SQL COPY with data stream to the client host\echo [-n] [STRING]    write string to standard output (-n for no newline)\i FILE                execute commands from file\ir FILE               as \i, but relative to location of current script\o [FILE]              send all query results to file or |pipe\qecho [-n] [STRING]   write string to \o output stream (-n for no newline)\warn [-n] [STRING]    write string to standard error (-n for no newline)Conditional\if EXPR               begin conditional block\elif EXPR             alternative within current conditional block\else                  final alternative within current conditional block\endif                 end conditional blockInformational(options: S = show system objects, + = additional detail)\d[S+]                 list tables, views, and sequences\d[S+]  NAME           describe table, view, sequence, or index\da[S]  [PATTERN]      list aggregates\dA[+]  [PATTERN]      list access methods\dAc[+] [AMPTRN [TYPEPTRN]]  list operator classes\dAf[+] [AMPTRN [TYPEPTRN]]  list operator families\dAo[+] [AMPTRN [OPFPTRN]]   list operators of operator families\dAp[+] [AMPTRN [OPFPTRN]]   list support functions of operator families\db[+]  [PATTERN]      list tablespaces\dc[S+] [PATTERN]      list conversions\dconfig[+] [PATTERN]  list configuration parameters\dC[+]  [PATTERN]      list casts\dd[S]  [PATTERN]      show object descriptions not displayed elsewhere\dD[S+] [PATTERN]      list domains\ddp    [PATTERN]      list default privileges\dE[S+] [PATTERN]      list foreign tables\des[+] [PATTERN]      list foreign servers\det[+] [PATTERN]      list foreign tables\deu[+] [PATTERN]      list user mappings\dew[+] [PATTERN]      list foreign-data wrappers\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]list [only agg/normal/procedure/trigger/window] functions\dF[+]  [PATTERN]      list text search configurations\dFd[+] [PATTERN]      list text search dictionaries\dFp[+] [PATTERN]      list text search parsers\dFt[+] [PATTERN]      list text search templates\dg[S+] [PATTERN]      list roles\di[S+] [PATTERN]      list indexes\dl[+]                 list large objects, same as \lo_list\dL[S+] [PATTERN]      list procedural languages\dm[S+] [PATTERN]      list materialized views\dn[S+] [PATTERN]      list schemas\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]list operators\dO[S+] [PATTERN]      list collations\dp     [PATTERN]      list table, view, and sequence access privileges\dP[itn+] [PATTERN]    list [only index/table] partitioned relations [n=nested]\drds [ROLEPTRN [DBPTRN]] list per-database role settings\dRp[+] [PATTERN]      list replication publications\dRs[+] [PATTERN]      list replication subscriptions\ds[S+] [PATTERN]      list sequences\dt[S+] [PATTERN]      list tables\dT[S+] [PATTERN]      list data types\du[S+] [PATTERN]      list roles\dv[S+] [PATTERN]      list views\dx[+]  [PATTERN]      list extensions\dX     [PATTERN]      list extended statistics\dy[+]  [PATTERN]      list event triggers\l[+]   [PATTERN]      list databases\sf[+]  FUNCNAME       show a function's definition\sv[+]  VIEWNAME       show a view's definition\z      [PATTERN]      same as \dpLarge Objects\lo_export LOBOID FILE write large object to file\lo_import FILE [COMMENT]read large object from file\lo_list[+]            list large objects\lo_unlink LOBOID      delete a large objectFormatting\a                     toggle between unaligned and aligned output mode\C [STRING]            set table title, or unset if none\f [STRING]            show or set field separator for unaligned query output\H                     toggle HTML output mode (currently off)\pset [NAME [VALUE]]   set table output option(border|columns|csv_fieldsep|expanded|fieldsep|fieldsep_zero|footer|format|linestyle|null|numericlocale|pager|pager_min_lines|recordsep|recordsep_zero|tableattr|title|tuples_only|unicode_border_linestyle|unicode_column_linestyle|unicode_header_linestyle)\t [on|off]            show only rows (currently off)\T [STRING]            set HTML <table> tag attributes, or unset if none\x [on|off|auto]       toggle expanded output (currently off)Connection\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}connect to new database (currently "postgres")\conninfo              display information about current connection\encoding [ENCODING]   show or set client encoding\password [USERNAME]   securely change the password for a userOperating System\cd [DIR]              change the current working directory\getenv PSQLVAR ENVVAR fetch environment variable\setenv NAME [VALUE]   set or unset environment variable\timing [on|off]       toggle timing of commands (currently off)\! [COMMAND]           execute command in shell or start interactive shellVariables\prompt [TEXT] NAME    prompt user to set internal variable\set [NAME [VALUE]]    set internal variable, or list all if no parameters\unset NAME            unset (delete) internal variable

查看数据库和版本

postgres=# \lList of databasesName    |  Owner   | Encoding |   Collate   |    Ctype    | ICU Locale | Locale Provider |   Access privileges   
-----------+----------+----------+-------------+-------------+------------+-----------------+-----------------------postgres  | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |            | libc            | template0 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |            | libc            | =c/postgres          +|          |          |             |             |            |                 | postgres=CTc/postgrestemplate1 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |            | libc            | =c/postgres          +|          |          |             |             |            |                 | postgres=CTc/postgres
(3 rows)postgres=# \c postgres
You are now connected to database "postgres" as user "postgres".
postgres=# \d
Did not find any relations.
postgres=# select version();version                                                   
------------------------------------------------------------------------------------------------------------PostgreSQL 15.2 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Anolis 8.5.0-10.0.3), 64-bit
(1 row)
postgres=# \q
[postgres@pg ~]$

关闭数据库

[postgres@pg ~]$ /opt/pgsql/bin/pg_ctl -D /opt/pgdata stop
waiting for server to shut down.... done
server stopped
[postgres@pg ~]$ /opt/pgsql/bin/pg_ctl -D /opt/pgdata status
pg_ctl: no server running
[postgres@pg ~]$ ps -ef | grep postgres
root       52074   50089  0 15:13 pts/0    00:00:00 su - postgres
postgres   52075   52074  0 15:13 pts/0    00:00:00 -bash
postgres   52276   52075  0 15:27 pts/0    00:00:00 ps -ef
postgres   52277   52075  0 15:27 pts/0    00:00:00 grep --color=auto postgres
[postgres@pg ~]$

更多推荐

在 AnolisOS8.2 上用源码编译方式安装 Postgresql15.2

本文发布于:2024-02-26 17:55:14,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1703374.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:源码   方式

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!