如何在VPS上安装和配置PostgreSQL数据库?

PostgreSQL是一个功能强大且开源的对象关系型数据库管理系统(ORDBMS)。它具有高度的可靠性和稳定性,适用于各种规模的应用程序。本文将详细介绍如何在虚拟专用服务器(VPS)上安装和配置PostgreSQL数据库。

如何在VPS上安装和配置PostgreSQL数据库?

准备工作

在开始之前,请确保您的VPS已经成功启动,并能够通过SSH远程连接。您还需要具备一定的Linux命令行基础以及root用户权限或具有sudo权限的非root用户。

更新系统软件包

为了保证安装过程顺利进行,在安装PostgreSQL之前应该先对现有的系统软件包进行更新:

对于基于Debian/Ubuntu系统的VPS,可以使用以下命令来更新软件包:sudo apt-get update && sudo apt-get upgrade -y

而对于基于CentOS/RHEL系统的VPS,则需要执行sudo yum update -y

安装PostgreSQL

接下来我们将介绍两种不同的操作系统环境下的安装方法。

在Debian/Ubuntu上安装PostgreSQL

对于基于Debian/Ubuntu的操作系统,可以通过官方仓库直接安装PostgreSQL:

  • 添加官方GPG密钥: wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
  • 添加PostgreSQL APT源: echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
  • 更新APT缓存并安装PostgreSQL:
    sudo apt-get update
    sudo apt-get install postgresql postgresql-contrib

在CentOS/RHEL上安装PostgreSQL

对于基于CentOS/RHEL的操作系统,推荐使用官方提供的yum源来进行安装:

  • 安装EPEL扩展库:sudo yum install epel-release
  • 添加PostgreSQL YUM源:sudo yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
  • 安装PostgreSQL:sudo yum install postgresql13-server postgresql13-contrib

初始化并启动PostgreSQL服务

无论是在哪种操作系统环境下完成安装后,都需要初始化数据库集群并启动PostgreSQL服务:

  • 初始化数据库集群:sudo /usr/pgsql-13/bin/postgresql-13-setup initdb (仅限于CentOS/RHEL)
  • 启动PostgreSQL服务:sudo systemctl start postgresql 或者 sudo systemctl start postgresql-13 (取决于具体版本)
  • 设置开机自启:sudo systemctl enable postgresql

创建新用户与数据库

默认情况下,PostgreSQL会创建一个名为“postgres”的超级管理员账户。我们建议为应用程序创建独立的数据库和用户以提高安全性。以下是创建新用户的步骤:

  • 切换到postgres用户:sudo su - postgres
  • 进入psql交互模式:psql
  • 创建新角色(例如myuser):CREATE ROLE myuser WITH LOGIN PASSWORD 'mypassword';
  • 创建新数据库(例如mydatabase):CREATE DATABASE mydatabase OWNER myuser;
  • 退出psql:q
  • 返回普通用户:exit

调整防火墙规则

如果您打算从外部访问PostgreSQL数据库,则需要确保防火墙允许相应的端口通信(默认为5432)。根据所使用的防火墙工具(如iptables、firewalld等),您可以添加适当的规则来开放该端口。例如,在使用firewalld时,可以通过以下命令来实现:

  • 永久性地打开5432端口:sudo firewall-cmd --zone=public --add-port=5432/tcp --permanent
  • 重新加载配置:sudo firewall-cmd --reload

配置远程访问

默认情况下,PostgreSQL只监听本地连接。如果希望允许来自其他主机的连接,您需要修改PostgreSQL配置文件以启用远程访问。编辑位于/var/lib/pgsql/13/data/postgresql.conf(CentOS/RHEL)或/etc/postgresql/13/main/postgresql.conf(Debian/Ubuntu)中的配置文件,找到并修改如下参数:

  • listen_addresses = ” // 允许所有IP地址连接

然后,编辑位于同一目录下的pg_hba.conf文件,添加一行或多行记录以指定允许哪些客户端IP地址连接到特定数据库或所有数据库:

  • host all all 0.0.0.0/0 md5

重启PostgreSQL服务使更改生效:sudo systemctl restart postgresqlsudo systemctl restart postgresql-13

至此,您已经在VPS上成功安装并配置了PostgreSQL数据库。接下来可以根据实际需求进一步优化性能参数、备份策略等方面的内容。如果您遇到了任何问题或者有更复杂的需求,建议参考官方文档获取更多帮助。

本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/146773.html

其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
上一篇 2025年1月21日 下午10:31
下一篇 2025年1月21日 下午10:31

相关推荐

  • VPS重启后数据库服务频繁崩溃,如何诊断和预防?

    在虚拟专用服务器(VPS)环境中,数据库服务作为许多应用程序的核心组件,其稳定性至关重要。当遇到数据库服务频繁崩溃的问题时,不仅会影响用户体验,还可能导致数据丢失或损坏。及时准确地诊断问题并采取有效的预防措施显得尤为重要。 一、初步检查 首先需要确认是否为VPS本身存在问题。例如,是否有足够的内存和磁盘空间;是否存在CPU过载的情况;网络连接是否正常等。如果…

    2025年1月20日
    700
  • VPS数据库备份与恢复:完整的操作指南

    在当今的互联网世界中,数据的价值不言而喻。对于使用VPS(虚拟专用服务器)来托管网站或应用程序的用户来说,确保数据库的安全性和可恢复性至关重要。本文将详细探讨如何进行VPS上的数据库备份以及恢复过程。 一、准备工作 在开始之前,请确保你已经具备以下条件: 1. 拥有一个正在运行的VPS,并且安装了相应的数据库管理系统(如MySQL、PostgreSQL等)。…

    2025年1月20日
    1000
  • 什么是数据库地址解析超时,如何避免这个问题?

    数据库地址解析超时指的是应用程序在尝试连接数据库时,花费了过多的时间进行DNS查询(域名系统查询),而未能成功获取到数据库服务器的IP地址,最终导致连接请求失败。通常情况下,当应用程序使用主机名而非直接使用IP地址来指定目标数据库的位置时,就会触发DNS解析过程。如果此时网络环境不稳定、DNS服务器故障或配置错误,都可能造成解析时间过长甚至完全无法完成解析,…

    2025年1月20日
    700
  • 如何在MS SQL Server中进行大规模数据迁移?

    随着企业业务的发展,越来越多的企业需要将数据从一个数据库迁移到另一个数据库。而当涉及到大量数据时,这个过程就会变得非常复杂且耗时。本文将探讨如何在Microsoft SQL Server (简称MS SQL Server) 中进行大规模数据迁移。 一、评估和规划 1. 了解需求: 在开始迁移之前,首先要明确此次迁移的具体目标是什么,是将旧系统中的所有数据都迁…

    2025年1月21日
    700
  • 阿里云服务器数据库如何进行高效备份与恢复?

    在当今的数字化时代,数据的重要性不言而喻。作为一家企业或个人开发者,确保数据的安全性和可恢复性是至关重要的。本文将详细介绍如何使用阿里云服务器来高效地进行数据库备份与恢复。 1. 备份策略的选择 定期备份:根据业务需求和数据量大小,可以选择每日、每周或每月进行一次全量备份,并结合增量备份以减少存储空间占用。 异地备份:为了防止本地灾难导致的数据丢失,建议开启…

    2025年1月24日
    500

发表回复

登录后才能评论
联系我们
联系我们
关注微信
关注微信
分享本页
返回顶部