首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >轻量应用服务器实践:PostgreSQL 安装指南

轻量应用服务器实践:PostgreSQL 安装指南

原创
作者头像
陈明勇
发布2024-11-11 15:12:14
发布2024-11-11 15:12:14
1.2K0
举报

前言

前面写了三篇篇文章:轻量应用服务器实践:MySQL 安装指南轻量应用服务器实践:Redis 安装指南轻量应用服务器实践:MongoDB 安装指南,分别介绍了如何在轻量应用服务器上安装 MySQLRedis 以及 MongoDB 服务器,而本文将具体介绍如何在轻量应用服务器上安装 PostgreSQL 服务。

准备好了吗?准备一杯你最喜欢的咖啡或茶,随着本文一探究竟吧。

轻量应用服务器

本文的操作基于你已拥有一台轻量应用服务器。如果你尚未拥有,可以考虑购买腾讯云的轻量应用服务器。腾讯云当前正举办 双十一拼团GO 活动,提供多种优惠:

  • 新用户限时秒杀:轻量应用服务器最低一年 28 元。
  • 老用户限时秒杀:轻量应用服务器最低一年 36 元。
  • 其他优惠:若未参与秒杀,其他专区的轻量应用服务器最低一年 99 元。

活动链接:腾讯云双十一拼团GO,活动时间有限,错过这次优惠,可能就要再等一年!

轻量应用服务器配置

为了更高效的安装 MySQL 服务器,我们需要对轻量应用服务器进行一些配置。

这里选择内置了 Docker 的容器镜像作为系统,以便省去手动安装 Docker 的步骤。你可以在购买轻量应用服务器时直接选择该系统,也可以在购买后通过重装系统进行更换。

安装 PostgreSQL

接下来,我们将通过 Docker 容器来安装 PostgreSQL,这样可以实现环境的隔离,带来更高的灵活性和管理便捷性。

拉取 PostgreSQL 官方镜像

代码语言:bash
复制
docker pull postgres

运行 PostgreSQL 容器

使用以下命令运行 PostgreSQL 容器,并设置默认用户的密码:

代码语言:bash
复制
docker run -d --name my-postgres -p 5432:5432 \
    -e POSTGRES_PASSWORD=123456 \
    postgres
  • -d:后台运行容器。
  • --name my-postgres:为容器命名为 my-postgres
  • -p 5432:5432:将宿主机的 5432 端口映射到容器的 5432 端口,这也是 PostgreSQL 的默认端口。
  • -e POSTGRES_PASSWORD=123456:设置 PostgreSQL 默认用户的密码为 123456

注意PostgreSQL 在安装时会默认创建一个名为 postgres 的数据库,初始化一个名为 postgres 的用户,但是密码需要我们去设置。因此 POSTGRES_PASSWORD 是必选的。

数据持久化(可选)

为了确保数据在容器重启或删除后不会丢失,可以将 PostgreSQL 的数据目录 /var/lib/postgresql/data 映射到宿主机目录:

代码语言:bash
复制
docker run -d --name my-postgres -p 5432:5432 \
    -e POSTGRES_PASSWORD=123456 \
    -v/home/lighthouse/postgres/data:/var/lib/postgresql/data \
    postgres
  • -v /home/lighthouse/postgres/data:/var/lib/postgresql/data:将宿主机目录 /home/lighthouse/postgres/data 映射到容器的 /var/lib/postgresql/data 目录,用于持久化数据。

挂载初始化脚本(可选)

如果需要在数据库启动时运行 SQL 脚本进行初始化(如创建表、插入初始数据),可以将 SQL 或脚本文件挂载到 /docker-entrypoint-initdb.d 目录中。

  • 创建一个 SQL 脚本,例如 init.sql,内容如下:
代码语言:sql
复制
CREATE TABLE test_table (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50) NOT NULL
);
INSERT INTO test_table (name) VALUES ('初始化的数据');
  • 启动容器并挂载 init.sql
代码语言:bash
复制
docker run -d --name my-postgres -p 5432:5432 \
    -e POSTGRES_PASSWORD=123456 \
    -v /home/lighthouse/postgres/data:/var/lib/postgresql/data \
    -v /home/lighthouse/postgres/init.sql:/docker-entrypoint-initdb.d/init.sql \
    postgres
  • 每当容器首次启动时,PostgreSQL 会自动运行该脚本。

开放轻量应用服务器的 5432 端口

轻量应用服务器默认不开放 5432 端口,因此无法直接连接到 PostgreSQL 服务器。我们需要手动开放 5432 端口以便外部连接。

步骤

  • 1.进入轻量应用服务器的管理主页,找到并点击 防火墙 设置以进入防火墙配置页面。
  • 2.点击 添加规则 按钮,弹出配置表单。
  • 3.在表单中:
    • 端口:填写 5432
    • 备注:可选,填写备注以便日后识别此规则
  • 4.点击 确定,保存规则设置。

测试

启动 PostgreSQL 容器后,可以使用 psql 或任意支持 PostgreSQL 的数据库客户端工具来连接新建的 PostgreSQL 服务器,以验证其是否正常运行。以下示例中使用 Navicat 进行连接:

  • Navicat 中创建一个新的 PostgreSQL 连接,并填写以下信息:
    • 主机:轻量应用服务器的公网 IP
    • 初始数据库postgres
    • 用户名postgres
    • 密码:填写先前配置的密码,即 123456
  • 填写完毕后,点击左下角的 测试连接 按钮。如果连接成功,会显示成功提示,表明 PostgreSQL 服务器正常运行并允许连接。

小结

本文详细介绍了在腾讯云轻量应用服务器中通过 Docker 安装 PostgreSQL 的过程,包括拉取官方镜像、启动 PostgreSQL 容器、配置数据持久化(可选)、挂载初始化脚本(可选)、开放 5432 端口并测试连接等。配置完成后,我们就可以在隔离环境中高效地管理 PostgreSQL 数据库服务。

通过 Docker 部署 PostgreSQL,不仅简化了安装和配置过程,同时提供了良好的环境隔离和持久化支持,适合多种应用场景,包括学习、测试和开发。这种方式省去了复杂配置,提供了良好的环境隔离。


你好,我是陈明勇,一名热爱技术、乐于分享的开发者,同时也是开源爱好者。

成功的路上并不拥挤,有没有兴趣结个伴?

关注我,加我好友,一起学习一起进步!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 轻量应用服务器
  • 轻量应用服务器配置
  • 安装 PostgreSQL
    • 拉取 PostgreSQL 官方镜像
    • 运行 PostgreSQL 容器
    • 数据持久化(可选)
    • 挂载初始化脚本(可选)
    • 开放轻量应用服务器的 5432 端口
      • 步骤
    • 测试
  • 小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档