跳到主要内容

CentOS PostgreSQL安装

PostgreSQL是一个功能强大的开源关系型数据库管理系统(RDBMS),广泛应用于各种规模的项目中。在CentOS系统上安装PostgreSQL是许多开发者和系统管理员的基础任务之一。本文将详细介绍如何在CentOS上安装和配置PostgreSQL,并通过实际案例展示其应用。

1. 安装前的准备

在开始安装之前,请确保您的CentOS系统已经更新到最新版本,并且具备管理员权限(root或sudo权限)。

bash
sudo yum update -y

2. 安装PostgreSQL

CentOS默认的软件仓库中可能不包含最新版本的PostgreSQL。因此,我们需要先添加PostgreSQL的官方仓库。

2.1 添加PostgreSQL官方仓库

首先,安装PostgreSQL的官方仓库:

bash
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

2.2 安装PostgreSQL

接下来,安装PostgreSQL服务器和客户端:

bash
sudo yum install -y postgresql12-server postgresql12
备注

postgresql12-server 是PostgreSQL 12版本的服务器包,postgresql12 是客户端工具包。您可以根据需要选择其他版本。

2.3 初始化数据库

安装完成后,需要初始化PostgreSQL数据库:

bash
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb

2.4 启动并启用PostgreSQL服务

启动PostgreSQL服务,并设置为开机自启动:

bash
sudo systemctl start postgresql-12
sudo systemctl enable postgresql-12

3. 配置PostgreSQL

3.1 设置PostgreSQL用户密码

默认情况下,PostgreSQL会创建一个名为postgres的系统用户。我们需要为该用户设置密码:

bash
sudo passwd postgres

3.2 修改PostgreSQL配置文件

PostgreSQL的配置文件位于/var/lib/pgsql/12/data/pg_hba.conf。我们需要修改该文件以允许远程访问或更改认证方式。

例如,将ident认证方式改为md5

bash
# 修改前
local all all ident

# 修改后
local all all md5

3.3 重启PostgreSQL服务

修改配置文件后,需要重启PostgreSQL服务以使更改生效:

bash
sudo systemctl restart postgresql-12

4. 使用PostgreSQL

4.1 连接到PostgreSQL

使用psql命令行工具连接到PostgreSQL数据库:

bash
sudo -u postgres psql

4.2 创建数据库和用户

psql中,您可以创建新的数据库和用户:

sql
CREATE DATABASE mydb;
CREATE USER myuser WITH ENCRYPTED PASSWORD 'mypassword';
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;

4.3 退出psql

输入以下命令退出psql

sql
\q

5. 实际案例

假设您正在开发一个简单的Web应用程序,需要使用PostgreSQL作为后端数据库。以下是一个简单的Python脚本,用于连接到PostgreSQL数据库并执行查询:

python
import psycopg2

# 连接到PostgreSQL数据库
conn = psycopg2.connect(
dbname="mydb",
user="myuser",
password="mypassword",
host="localhost",
port="5432"
)

# 创建游标对象
cur = conn.cursor()

# 执行查询
cur.execute("SELECT version();")
db_version = cur.fetchone()
print("Database version:", db_version)

# 关闭连接
cur.close()
conn.close()

6. 总结

通过本教程,您已经学会了如何在CentOS系统上安装和配置PostgreSQL数据库服务。我们还通过一个简单的Python脚本展示了如何连接到PostgreSQL并执行查询。希望这些内容能帮助您更好地理解和使用PostgreSQL。

7. 附加资源

8. 练习

  1. 尝试在您的CentOS系统上安装PostgreSQL 13版本。
  2. 创建一个新的数据库和用户,并使用Python脚本连接到该数据库。
  3. 修改PostgreSQL的配置文件,允许远程访问,并测试连接。

祝您学习愉快!