文档首页 > > 移植指南> 移植PostgreSQL

移植PostgreSQL

分享
更新时间:2020/08/06 GMT+08:00

介绍

简要介绍

PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES,现在已经更名为PostgreSQL,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。同样,PostgreSQL可以用许多方法扩展,比如, 通过增加新的数据类型、函数、操作符、聚集函数、索引。免费使用、修改、和分发PostgreSQL,不管是私用、商用、还是学术研究使用。

语言:C/C++

一句话描述:对象关系型数据库管理系统。

开源协议 : PostgreSQL

建议的版本

  • 可通过yum安装和源码安装两种安装方式,请根据需要选择安装方式。
  • 已在鲲鹏云服务器上验证过PostgreSQL-10.11版本,并以此版本为例进行说明,请根据实际需要选择版本。

环境要求

云服务器要求

本文以KC1实例测试,配置如表1所示

表1 云服务器配置

项目

说明

规格

kc1.large.2 | 2vCPUs | 4GB

磁盘

系统盘:高IO(40GB)

操作系统要求

操作系统要求如表2所示。

表2 操作系统要求

项目

说明

下载地址

CentOS

7.6

在公共镜像中已提供。

Kernel

4.14.0

包含在操作系统镜像中。

配置编译环境

安装依赖包。

  • 通过yum安装方式,安装postgresql-contrib。

    yum install postgresql-contrib.aarch64

  • 通过源码安装方式进行安装。

    yum install -y readline readline-devel openssl openssl-devel zlib zlib-devel

获取源码

通过源码安装方式,需下载PostgreSQL源码

wget https://ftp.postgresql.org/pub/source/v10.11/postgresql-10.11.tar.gz

编译和安装

yum安装方式:

yum install postgresql-server.aarch64

源码安装方式:

  1. 解压源码。

    tar -zxvf postgresql-10.11.tar.gz

  2. 进入源码目录。

    cd postgresql-10.11

  3. 配置并编译安装。

    ./configure && make && make install

运行和验证

yum安装方式:

  1. 初始化数据库。

    /usr/bin/postgresql-setup initdb

  2. 设置开启启动。

    systemctl start postgresql

    systemctl enable postgresql.service

源码安装方式:

  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

  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

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问