VPS数据库搭建指南,PostgreSQL安装与配置

2025-06-03 服务器新闻 阅读 3
󦘖

卡尔云官网

www.kaeryun.com

复制打开官网

在虚拟专用服务器(VPS)上搭建PostgreSQL数据库,是许多开发者和站长常用的技术,PostgreSQL是一个功能强大的开源关系型数据库,支持高并发、高可用性和复杂查询,本文将详细 guide 您如何在VPS上成功安装和配置PostgreSQL数据库。

VPS数据库搭建指南,PostgreSQL安装与配置


VPS环境准备

在开始搭建数据库之前,请确保您的VPS已配置完成,包括:

  1. 操作系统:VPS运行的是Linux系统,通常是Ubuntu或Debian,您需要确认系统版本是否支持PostgreSQL服务。
  2. VPS配置:访问VPS控制面板,确保SSH访问已启用,并配置好公钥认证。

PostgreSQL安装

PostgreSQL可以通过官方的Debian仓库或Docker容器轻松安装。

通过Debian仓库安装

  1. 访问控制面板
    打开终端,输入sudo apt update,然后输入sudo apt install postgresql postgresql-contrib

    • postgresql:主数据库服务。
    • postgresql-contrib:为开发环境提供的额外功能。
  2. 验证安装
    启动PostgreSQL服务后,检查日志:

    sudo systemctl status postgresql  

    如果看到“active”,说明PostgreSQL已成功启动。


通过Docker容器安装

  1. 拉取PostgreSQL镜像
    使用以下命令在终端中拉取PostgreSQL镜像:

    docker pull postgresql:us public 

    或者选择其他镜像,具体取决于您的操作系统。

  2. 运行PostgreSQL容器
    输入以下命令启动PostgreSQL服务:

    docker run -d --name postgresql -p 5432:5432 postgresql:us public 
    • -d:运行容器不离开终端。
    • -n:容器名称。
    • -p:端口映射,将PostgreSQL监听在5432端口。
  3. 访问数据库
    您可以通过浏览器访问http://localhost:5432来连接PostgreSQL。


PostgreSQL配置

配置PostgreSQL以满足您的需求,常见配置包括:

配置PSQL启动脚本

为了方便访问PostgreSQL,建议配置一个启动脚本。

  1. 创建启动脚本
    /etc/init.d/目录下创建postgres.sh文件:

    #!/bin/bash  
    echo -n "PostgreSQL版本号:"  
    read -d '' version  
    sed -e "s/^PostgreSQL\([^)]+\)$/" << EOL  
    \[version\] PostgreSQL  
    \[version\] PostgreSQL  
    \[version\] PostgreSQL  
    \[version\] PostgreSQL  
    \[version\] PostgreSQL  
    EOL  
  2. 将启动脚本添加到服务
    /etc/rc.local中添加以下内容:

    source postgres.sh  
  3. 重新启动服务
    输入以下命令重新启动PostgreSQL服务:

    sudo systemctl restart postgresql 

设置数据库名称、用户和密码

PostgreSQL默认数据库名称为postgres,建议将其改为更易于记忆的名称,例如mydatabase

  1. 更改数据库名称
    输入以下命令:

    sudo psql -U postgres -d postgres -c "ALTER DATABASE postgres TO mydatabase"  
  2. 创建用户和角色

    • 创建用户:
      sudo psql -U postgres -d mydatabase -c "CREATE USER myuser WITH PASSWORD 'yourpassword'; GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;"  
    • 创建角色:
      sudo psql -U postgres -d mydatabase -c "CREATE ROLE myreader WITH GRANT ON MYDB TO ALL; CREATE ROLE mywriter WITH GRANT ON MYDB TO ALL;"  
  3. 分配权限

    • 为用户分配权限:
      sudo psql -U postgres -d mydatabase -c "GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;"  
    • 为角色分配权限:
      sudo psql -U postgres -d mydatabase -c "GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myreader, mywriter;"  

配置psql命令

为了更安全地访问PostgreSQL,建议配置psql命令。

  1. 设置psql路径
    添加以下内容到/etc/profile/etc/bashrc文件:

    export POSTGRES_DBNAME=mydatabase  
    export POSTGRES_USER=myuser  
    export POSTGRES_PASSWORD=yourpassword  
    export POSTGRES_PORT=5432  
  2. 启用自动配置
    输入以下命令:

    sudo nano /etc/profile.d/psqlrc  

    添加以下内容:

    source mydatabase.sh  
    set -x  
  3. 测试psql命令
    您可以通过以下命令连接PostgreSQL:

    psql -U myuser -d mydatabase  

数据迁移

PostgreSQL支持通过pg_dump命令将数据备份到本地文件,方便后续迁移。

  1. 备份数据
    输入以下命令:

    sudo pg_dump -U myuser -d mydatabase -f /data/mydatabase.sql -c "pg_dump off; page_size 100000;"  
    • -f:指定备份文件路径。
    • -c:指定要备份的数据项。
  2. 恢复数据
    输入以下命令:

    sudo psql -U myuser -d mydatabase -c "psql -U myuser -d mydatabase < /data/mydatabase.sql"  

安全配置

为了保护PostgreSQL数据库,建议进行以下安全配置:

  1. 限制访问权限
    /etc/passwd文件中添加PostgreSQL相关的用户,并设置shsh权限:

    sudo usermod -aG -m postgres  
    sudo chown -R postgres:postgres /var/log/*  
  2. 配置安全参数
    输入以下命令,启用PostgreSQL的安全参数:

    sudo postgresql -U postgres -d mydatabase -c "set startup off; enable pg_hba.conf;"  
  3. 使用SSH认证
    /etc/ssh/sshd_config文件中添加PostgreSQL的密钥认证:

    sudo nano /etc/ssh/sshd_config  

    添加以下内容:

    [UserPostgreSQL]  
    HostName=hostname of your VPS  
    User=postgres  
    HostKeyChecking=off  
    PermitRootLogin=yes  

    保存并退出。


搭建PostgreSQL数据库在VPS上是一个相对简单的过程,但需要仔细配置和管理,通过合理配置PostgreSQL的启动脚本、用户角色和权限,可以确保数据库的安全性和稳定性,定期备份数据和进行安全配置,是维护PostgreSQL数据库的重要环节。

希望本文能为您提供有价值的指导,祝您搭建成功!

󦘖

卡尔云官网

www.kaeryun.com

复制打开官网

相关推荐

  • 千元二手服务器选购攻略:靠谱吗?性能如何?

    主题探讨:一千元二手服务器靠谱吗? 在互联网时代,服务器是支撑网站、应用等在线服务的基础设施。对于预算有限的个人或小型企业来说,购买一台价格亲民的二手服务器似乎是个不错的选择。那么,一千元左右的二手服务器靠谱吗?下面我们从几个方面来探讨这个问题。 1.1 二手服务...

    0服务器新闻2025-10-20
  • 轻松上手!教你如何连接华数电视服务器

    亲爱的华数电视用户们,你是否曾为如何连接电视服务器而感到困惑?别担心,今天就来给大家简单介绍一下,让你们轻松上手。 1.1 华数电视服务器的功能 首先,得先了解一下华数电视服务器的功能。简单来说,它就像是电视的“大脑”,负责处理各种数据和指令。具体来说,它有以下几...

    0服务器新闻2025-10-20
  • 全方位解析:购买服务器包含什么及选购要点

    引言 在互联网高速发展的今天,服务器已经成为我们工作和生活中不可或缺的一部分。无论是个人博客、企业网站,还是大型在线游戏、云计算服务,都需要服务器来支撑。那么,当你打算购买服务器时,你到底需要了解些什么呢?今天,我们就来聊一聊购买服务器的那些事儿。 1.1 介绍购...

    0服务器新闻2025-10-20
  • 海南电信DNS服务器地址设置全攻略:提升速度与安全

    1. 海南电信DNS服务器地址介绍 1.1 什么是DNS服务器 先来聊聊DNS服务器,这可是互联网上的一个关键角色。DNS,全称Domain Name System,也就是域名系统。它就像互联网上的一个电话簿,把我们在浏览器里输入的域名(比如www.haian电信.co...

    0服务器新闻2025-10-20
  • 深度解析:服务器持久化模式及其选择指南

    markdown格式的内容 2. 服务器持久化模式的类型 2.1 文件系统持久化 2.1.1 文件系统持久化的原理 文件系统持久化,顾名思义,就是通过文件系统来存储数据。当你把数据保存在硬盘上时,实际上就是通过文件系统将数据以文件的形式存储。这个过程很简单,但也很...

    0服务器新闻2025-10-20
  • 服务器卡死原因及解决方案详解

    在信息技术飞速发展的今天,服务器作为企业运营的核心支柱,其稳定性和可靠性至关重要。然而,服务器卡死这个棘手的问题时常困扰着我们。那么,什么是服务器卡死?它又有哪些表现形式和原因呢?下面我们就来一探究竟。 1.1 服务器卡死的定义 简单来说,服务器卡死就是指服务器在...

    0服务器新闻2025-10-20
  • 魔兽世界PvE服务器战场攻略:等级限制与优化策略

    在魔兽世界这个庞大的虚拟世界中,玩家们对于游戏体验的追求总是充满热情。今天,我们就来聊聊一个让不少玩家好奇的问题:能否在魔兽世界PvE服务器上打战场? 1.1 魔兽世界PvE服务器的定义与特点 首先,得先弄清楚什么是PvE服务器。PvE,即Player Versu...

    1服务器新闻2025-10-20
  • 高效数据去重:去重服务器的定义、原理与应用

    1. 什么是去重服务器? 1.1 去重服务器的定义 去重服务器,顾名思义,是一种专门用于识别和删除重复数据的计算机系统。它就像一个数据清洁工,能够从大量数据中筛选出独一无二的记录,保证数据的纯净和高效利用。简单来说,去重服务器就是用来“去重”的。 举个例子,想象一...

    0服务器新闻2025-10-20
  • EDI系统详解:服务器软件的作用及配置指南

    1.1 什么是EDI 首先,得先弄明白,EDI是个啥玩意儿。EDI全称是Electronic Data Interchange,简单来说,就是电子数据交换。这就像是两个电脑在对话,一个电脑上的信息可以自动传到另一个电脑上,而不需要人工去抄写或者录入。这在商业活动中,特别...

    1服务器新闻2025-10-20
  • 逆战玩家必看:如何快速找到心仪的服务器?

    6.1 如何加入逆战服务器? 逆战玩家们,你们是否曾遇到过在游戏中找不到好服务器的烦恼?今天就来给大家详细解答一下如何加入逆战服务器的问题。 1.1 使用游戏内搜索功能 首先,打开逆战游戏,点击右上角的“服务器”标签。在这里,你可以看到当前可用的服务器列表。点击...

    1服务器新闻2025-10-20

微信号复制成功

打开微信,点击右上角"+"号,添加朋友,粘贴微信号,搜索即可!