服务器postgresql安装
一、软件介绍
PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。同样,PostgreSQL 可以用许多方法扩展,比如,通过增加新的数据类型、函数、操作符、聚集函数、索引。
服务器详细规格如下:
名称 |
说明 |
CPU |
64cores Phytium,FT-2000+/64 64bit |
内核 |
Linux-4.19.90-17.ky10.aarch64-aarch64-with-kylin-10-Tercel |
内存 |
64GB |
硬盘 |
480GB |
1. 配置编译环境
(1) 安装依赖包
yum install -y readline readline-devel openssl openssl-devel zlib zlib-devel、
(2) 安装:
1)通过yum直接安装
yum install postgresql-server.aarch64
2)通过源码安装
a. 获取源码
wget https://ftp.postgresql.org/pub/source/v10.11/postgresql-10.11.tar.gz
b. 解压源码。
tar -zxvf postgresql-10.11.tar.gz
c. 进入源码目录。
cd postgresql-10.11
d. 配置并编译安装。
./configure && make && make install
----结束
2.运行和验证:
(1) yum安装方式运行:
1) 初始化数据库。
/usr/bin/postgresql-setup initdb
2) 设置开启启动。
systemctl start postgresql
systemctl enable postgresql.service
(2) 源码安装方式运行:
1) 创建数据目录。
mkdir /Data
mkdir /Data/postgresql
2) 创建pgsql用户。
useradd pgsql
3) 变更目录权限。
chown -R pgsql:pgsql /usr/local/pgsql
chown -R pgsql:pgsql /Data/postgresql
4) 切换pgsql用户。
su - pgsql
5) 初始化数据。
/usr/local/pgsql/bin/initdb -D /Data/postgresql/
The files belonging to this database system will be owned by user "pgsql".
This user must also own the server process.
The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".
Data page checksums are disabled.
fixing permissions on existing directory /Data/postgresql ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default timezone ... PRC
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok
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:
/usr/local/pgsql/bin/pg_ctl -D /Data/postgresql/ -l logfile start
6) 创建日志目录及日志。
cd /Data/postgresql
mkdir log
touch log/server.log
7) 启动进程。
/usr/local/pgsql/bin/pg_ctl -D /Data/postgresql/ -l /Data/postgresql/log/server.log start
结束进程:/usr/local/pgsql/bin/pg_ctl -D /Data/postgresql/ -l /Data/postgresql/log/server.log stop
8) 检查进程。
ps -ef | grep pgsql
pgsql 15635 1 0 10:07 pts/0 00:00:00 /usr/local/pgsql/bin/postgres -D /Data/postgresql
pgsql 15637 15635 0 10:07 ? 00:00:00 postgres: checkpointer process
pgsql 15638 15635 0 10:07 ? 00:00:00 postgres: writer process
pgsql 15639 15635 0 10:07 ? 00:00:00 postgres: wal writer process
pgsql 15640 15635 0 10:07 ? 00:00:00 postgres: autovacuum launcher process
pgsql 15641 15635 0 10:07 ? 00:00:00 postgres: stats collector process
pgsql 15642 15635 0 10:07 ? 00:00:00 postgres: bgworker: logical replication launcher
9) 检查监听端口。
netstat -tlnp
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 15635/postgres