PostgreSQL是一个功能强大且开源的对象关系型数据库管理系统(ORDBMS)。它具有高度的可靠性和稳定性,适用于各种规模的应用程序。本文将详细介绍如何在虚拟专用服务器(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 postgresql
或 sudo systemctl restart postgresql-13
。
至此,您已经在VPS上成功安装并配置了PostgreSQL数据库。接下来可以根据实际需求进一步优化性能参数、备份策略等方面的内容。如果您遇到了任何问题或者有更复杂的需求,建议参考官方文档获取更多帮助。
本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/146773.html
其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。