Day 1: PostgreSQL 单节点安装与基础配置 – 详细课程及安装步骤

上午:PostgreSQL 基础介绍与环境准备

课程内容:
  1. PostgreSQL 简介

    • 概述: PostgreSQL 是一种功能丰富的开源关系型数据库,支持 ACID 和 SQL 标准,适合从小型应用到企业级系统的各种场景。
    • 主要特点:
      • 支持复杂查询和扩展性。
      • 支持事务、外键、视图、触发器、存储过程等高级功能。
    • PostgreSQL 与其他数据库的比较:
      • MySQL: PostgreSQL 更注重标准符合性和扩展功能,适用于复杂业务逻辑。
      • Oracle: PostgreSQL 作为开源替代,具有高扩展性和低成本。
  2. 安装环境的准备

    • 操作系统支持: PostgreSQL 支持大多数 Linux 发行版、Windows 和 macOS。
    • 操作系统调优:
      • 内存与 CPU 配置: PostgreSQL 性能依赖于系统资源,需要至少 1GB 内存和双核 CPU。
      • 文件描述符限制: 增加操作系统对打开文件数的限制,如 /etc/security/limits.conf 中增加:
        postgres soft nofile 10240
        postgres hard nofile 65535
      • 内核参数调整: 调整共享内存与连接数,如修改 /etc/sysctl.conf
        kernel.shmmax = 4294967295
  3. PostgreSQL 版本选择

    • 版本类型: 长期支持 (LTS) 版本适用于生产环境(如 13、14),最新版本适用于测试新功能。
    • 安装包类型: 通过包管理工具安装(如 yumapt),或通过源码安装。
实践练习:环境准备
  1. 服务器或虚拟机准备

    • 准备 Linux 虚拟机(如 CentOS、Ubuntu)或云服务器(如 AWS EC2)。
    • 设置网络与 SSH 访问,确保服务器可以连接互联网。
  2. 依赖库安装

    • 在 CentOS 上:
      sudo yum install -y libpq-dev openssl
    • 在 Ubuntu 上:
      sudo apt-get install -y libpq-dev openssl

下午:PostgreSQL 安装与基本配置

课程内容:
  1. PostgreSQL 的安装方法

    • 使用包管理工具安装

      • CentOS (通过 yum):
        sudo yum install -y postgresql14 postgresql14-server
      • Ubuntu (通过 apt):
        sudo apt-get update
        sudo apt-get install -y postgresql postgresql-contrib
    • 源码编译安装(可选)

      • 下载 PostgreSQL 源码:
        wget https://ftp.postgresql.org/pub/source/v14.5/postgresql-14.5.tar.gz
        tar -xvzf postgresql-14.5.tar.gz
        cd postgresql-14.5
        ./configure --prefix=/usr/local/pgsql
        make
        sudo make install
      • 源码编译适合需要自定义配置的情况。
  2. PostgreSQL 目录结构与配置文件

    • 重要目录
      • 数据目录:存放数据库数据,通常位于 /var/lib/pgsql/data//usr/local/pgsql/data/
      • 配置文件:包括 postgresql.confpg_hba.confpg_ident.conf
        • postgresql.conf:控制数据库行为(如内存、连接数、日志)。
        • pg_hba.conf:配置数据库的访问权限(IP 地址、用户认证)。
        • pg_ident.conf:用户映射文件,用于操作系统用户到 PostgreSQL 用户的映射。
  3. PostgreSQL 的服务管理

    • 启动与停止服务

      • 在 CentOS 上:
        sudo systemctl enable postgresql-14
        sudo systemctl start postgresql-14
      • 在 Ubuntu 上:
        sudo systemctl enable postgresql
        sudo systemctl start postgresql
    • 检查服务状态

      • 使用 systemctl status postgresql 检查 PostgreSQL 的运行状态。
      • 查看日志:journalctl -xe | grep postgres
实践练习:安装与配置
  1. 安装 PostgreSQL

    • 使用包管理工具或源码安装 PostgreSQL。
  2. 初始化数据库集群(如果使用源码安装)

    sudo /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
  3. 启动 PostgreSQL 服务

    • 启动 PostgreSQL 并检查是否启动成功:
      sudo systemctl start postgresql
  4. 配置 PostgreSQL 允许远程连接

    • 修改 postgresql.conf 文件,设置 listen_addresses'0.0.0.0',允许所有 IP 连接。
      listen_addresses = '0.0.0.0'
    • 修改 pg_hba.conf,允许远程连接,并添加如下内容:
      host all all 0.0.0.0/0 md5
  5. 重启 PostgreSQL 服务

    • 重启 PostgreSQL 使配置生效:
      sudo systemctl restart postgresql
  6. 使用 psql 创建数据库

    • 连接 PostgreSQL:
      sudo -u postgres psql
    • 创建数据库:
      CREATE DATABASE mydb;
      \c mydb;
    • 创建用户:
      CREATE USER myuser WITH PASSWORD 'mypassword';
      GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;

完整的安装与启动 PostgreSQL 步骤

  1. 更新系统并安装依赖

    sudo apt-get update           # Ubuntu
    sudo apt-get install -y libpq-dev openssl
  2. 安装 PostgreSQL

    • Ubuntu:
      sudo apt-get install -y postgresql postgresql-contrib
    • CentOS:
      sudo yum install -y postgresql14 postgresql14-server
  3. 初始化数据库(如果需要)

    sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
  4. 启动 PostgreSQL

    sudo systemctl start postgresql-14   # CentOS
    sudo systemctl start postgresql      # Ubuntu
  5. 配置允许远程连接

    • 修改 postgresql.confpg_hba.conf,允许远程连接。
  6. 使用 psql 创建数据库与用户

    sudo -u postgres psql
    CREATE DATABASE mydb;
    CREATE USER myuser WITH PASSWORD 'mypassword';
    GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;

通过以上步骤,您可以成功安装并启动 PostgreSQL,并创建数据库和用户。

作者:严锋  创建时间:2024-10-19 12:04
最后编辑:严锋  更新时间:2025-05-09 15:48