时间:2021-08-27 09:58:35 | 栏目:PostgreSQL | 点击:次
[root@ft2000db opt]# yum install bzip* [root@ft2000db opt]# nkvers ############## Kylin Linux Version ################# Release: Kylin Linux Advanced Server release V10 (Tercel) Kernel: 4.19.90-17.ky10.aarch64 Build: Kylin Linux Advanced Server release V10 (SP1) /(Tercel)-aarch64-Build04/20200711 ################################################# [root@ft2000db opt] # yum install -y perl-ExtUtils-Embed [root@ft2000db opt]# yum install -y flex root@ft2000db opt]# yum install -y bison root@ft2000db opt]# yum install -y readline-devel root@ft2000db opt]# yum install -y zlib-devel root@ft2000db opt]# yum install -y openssl-devel root@ft2000db opt]# yum install -y pam-devel root@ft2000db opt]# yum install -y libxml2-devel root@ft2000db opt]# yum install -y libxslt-devel root@ft2000db opt]# yum install -y openldap-devel root@ft2000db opt]# yum install -y python-devel root@ft2000db opt]# yum install -y gcc-c++ root@ft2000db opt]# yum install -y libssh2-devel
下载安装软件及创建安装目录
[root@ft2000db opt]# wget http://ftp.postgresql.org/pub/source/v13.1/postgresql-13.1.tar.bz2 [root@ft2000db opt]# tar xjvf postgresql-13.1.tar.bz2 [root@ft2000db opt]# cd postgresql-13.1/ [root@ft2000db postgresql-13.1]# mkdir -p /opt/pgsql [root@ft2000db postgresql-13.1]# ./configure --prefix=/opt/pgsql ................................................................ 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@ft2000db postgresql-13.1]# gmake //这里编译时间大约30分钟,如果失败一般都是系统依赖包原因,根据提示解决
.............................................................................................................
gmake[2]: 离开目录“/opt/postgresql-13.1/src/test/isolation” gmake -C test/perl all gmake[2]: 进入目录“/opt/postgresql-13.1/src/test/perl” gmake[2]: 对“all”无需做任何事。 gmake[2]: 离开目录“/opt/postgresql-13.1/src/test/perl” gmake[1]: 离开目录“/opt/postgresql-13.1/src” gmake -C config all gmake[1]: 进入目录“/opt/postgresql-13.1/config” gmake[1]: 对“all”无需做任何事。 gmake[1]: 离开目录“/opt/postgresql-13.1/config” All of PostgreSQL successfully made. Ready to install. [root@ft2000db postgresql-13.1]#gmake install
..........................................................................................
gmake[1]: 离开目录“/opt/postgresql-13.1/src” gmake -C config install gmake[1]: 进入目录“/opt/postgresql-13.1/config” /usr/bin/mkdir -p '/opt/pgsql/lib/pgxs/config' /usr/bin/install -c -m 755 ./install-sh '/opt/pgsql/lib/pgxs/config/install-sh' /usr/bin/install -c -m 755 ./missing '/opt/pgsql/lib/pgxs/config/missing' gmake[1]: 离开目录“/opt/postgresql-13.1/config” PostgreSQL installation complete.
[root@ft2000db postgresql-13.1]# /opt/pgsql/bin/postgres --version postgres (PostgreSQL) 13.1
创建用户和组
[root@ft2000db postgresql-13.1]# groupadd -g 1002 postgres [root@ft2000db postgresql-13.1]# useradd -g 1002 -u 1002 postgres [root@ft2000db postgresql-13.1]# passwd postgres [root@ft2000db postgresql-13.1]# chown -R postgres:postgres /opt/ [root@ft2000db postgresql-13.1]# chmod -R 775 /opt/
配置环境变量
[postgres@ft2000db ~]$ cat .bash_profile # Source /root/.bashrc if user has one [ -f ~/.bashrc ] && . ~/.bashrc # User specific environment and startup programs PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH PATH=/opt/pgsql/bin:$PATH export PATH LD_LIBRARY_PATH=/opt/pgsql/lib export LD_LIBRARY_PATH
初始化数据库
[postgres@ft2000db ~]$ mkdir -p /opt/pgsql/data [postgres@ft2000db ~]$ initdb -D /opt/pgsql/data 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". The default database encoding has accordingly been set to "UTF8". 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. fixing permissions on existing directory /opt/pgsql/data ... 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 ... ok initdb: warning: enabling "trust" authentication for local connections 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: pg_ctl -D /opt/pgsql/data -l logfile start
启动数据库
[postgres@ft2000db ~]$ pg_ctl -D /opt/pgsql/data start waiting for server to start....2020-11-20 16:01:05.881 CST [34826] LOG: starting PostgreSQL 13.1 on aarch64-unknown-linux-gnu, compiled by gcc (GCC) 7.3.0, 64-bit 2020-11-20 16:01:05.882 CST [34826] LOG: listening on IPv6 address "::1", port 5432 2020-11-20 16:01:05.882 CST [34826] LOG: listening on IPv4 address "127.0.0.1", port 5432 2020-11-20 16:01:05.882 CST [34826] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432" 2020-11-20 16:01:05.884 CST [34827] LOG: database system was shut down at 2020-11-20 16:00:27 CST 2020-11-20 16:01:05.887 CST [34826] LOG: database system is ready to accept connections done server started
登录数据库
[postgres@ft2000db ~]$ psql -p 5432 psql (13.1) type "help" for help. postgres=#
到此postgresql数据库安装完毕。