Day 1: PostgreSQL 单节点安装与基础配置 – 详细课程及安装步骤
上午:PostgreSQL 基础介绍与环境准备
课程内容:
PostgreSQL 简介
- 概述: PostgreSQL 是一种功能丰富的开源关系型数据库,支持 ACID 和 SQL 标准,适合从小型应用到企业级系统的各种场景。
- 主要特点:
- 支持复杂查询和扩展性。
- 支持事务、外键、视图、触发器、存储过程等高级功能。
- PostgreSQL 与其他数据库的比较:
- MySQL: PostgreSQL 更注重标准符合性和扩展功能,适用于复杂业务逻辑。
- Oracle: PostgreSQL 作为开源替代,具有高扩展性和低成本。
安装环境的准备
- 操作系统支持: 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
PostgreSQL 版本选择
- 版本类型: 长期支持 (LTS) 版本适用于生产环境(如 13、14),最新版本适用于测试新功能。
- 安装包类型: 通过包管理工具安装(如
yum
或apt
),或通过源码安装。
实践练习:环境准备
服务器或虚拟机准备
- 准备 Linux 虚拟机(如 CentOS、Ubuntu)或云服务器(如 AWS EC2)。
- 设置网络与 SSH 访问,确保服务器可以连接互联网。
依赖库安装
- 在 CentOS 上:
sudo yum install -y libpq-dev openssl
- 在 Ubuntu 上:
sudo apt-get install -y libpq-dev openssl
- 在 CentOS 上:
下午:PostgreSQL 安装与基本配置
课程内容:
PostgreSQL 的安装方法
使用包管理工具安装:
- CentOS (通过 yum):
sudo yum install -y postgresql14 postgresql14-server
- Ubuntu (通过 apt):
sudo apt-get update sudo apt-get install -y postgresql postgresql-contrib
- CentOS (通过 yum):
源码编译安装(可选):
- 下载 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
- 源码编译适合需要自定义配置的情况。
- 下载 PostgreSQL 源码:
PostgreSQL 目录结构与配置文件
- 重要目录:
- 数据目录:存放数据库数据,通常位于
/var/lib/pgsql/data/
或/usr/local/pgsql/data/
。 - 配置文件:包括
postgresql.conf
、pg_hba.conf
和pg_ident.conf
。postgresql.conf
:控制数据库行为(如内存、连接数、日志)。pg_hba.conf
:配置数据库的访问权限(IP 地址、用户认证)。pg_ident.conf
:用户映射文件,用于操作系统用户到 PostgreSQL 用户的映射。
- 数据目录:存放数据库数据,通常位于
- 重要目录:
PostgreSQL 的服务管理
启动与停止服务:
- 在 CentOS 上:
sudo systemctl enable postgresql-14 sudo systemctl start postgresql-14
- 在 Ubuntu 上:
sudo systemctl enable postgresql sudo systemctl start postgresql
- 在 CentOS 上:
检查服务状态:
- 使用
systemctl status postgresql
检查 PostgreSQL 的运行状态。 - 查看日志:
journalctl -xe | grep postgres
- 使用
实践练习:安装与配置
安装 PostgreSQL
- 使用包管理工具或源码安装 PostgreSQL。
初始化数据库集群(如果使用源码安装)
sudo /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
启动 PostgreSQL 服务
- 启动 PostgreSQL 并检查是否启动成功:
sudo systemctl start postgresql
- 启动 PostgreSQL 并检查是否启动成功:
配置 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
- 修改
重启 PostgreSQL 服务
- 重启 PostgreSQL 使配置生效:
sudo systemctl restart postgresql
- 重启 PostgreSQL 使配置生效:
使用 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:
完整的安装与启动 PostgreSQL 步骤
更新系统并安装依赖:
sudo apt-get update # Ubuntu sudo apt-get install -y libpq-dev openssl
安装 PostgreSQL:
- Ubuntu:
sudo apt-get install -y postgresql postgresql-contrib
- CentOS:
sudo yum install -y postgresql14 postgresql14-server
- Ubuntu:
初始化数据库(如果需要):
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
启动 PostgreSQL:
sudo systemctl start postgresql-14 # CentOS sudo systemctl start postgresql # Ubuntu
配置允许远程连接:
- 修改
postgresql.conf
和pg_hba.conf
,允许远程连接。
- 修改
使用 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
最后编辑:严锋 更新时间:2025-05-09 15:48