欢迎光临
我们一直在努力

如何在Debian 10中安装PostgreSQL数据库

PostgreSQL (有时称为Postgres )是最先进的开源通用和对象关系数据库系统,具有在所有主要操作系统上运行的经过验证的体系结构。 它是一个高性能,稳定,可扩展和可扩展的数据库系统,可提供惊人的数据完整性并支持强大的附加功能。

重要的是, PostgreSQL允许您定义自己的数据类型,添加自定义函数,甚至可以编写来自不同编程语言(如C / C ++,Java等)的代码,而无需重新编译数据库。

PostgreSQL正被着名的Tech公司使用,如Apple,Fujitsu,Red Hat,Cisco,Juniper Network等。

在本文中,我们将向您展示如何在Debian 10中安装,保护和配置PostgreSQL数据库服务器。

需求:

  1. 安装Debian 10(Buster)最小服务器

在Debian 10上安装PostgreSQL服务器

要安装PostgreSQL数据库服务器,请使用默认的APT包管理器 ,它将安装PostgreSQL 11服务器和客户端。

# apt install postgresql-11 postgresql-client-11
在Debian 10中安装PostgreSQL

在Debian 10中安装PostgreSQL

Debian上 ,与任何其他守护程序一样, Postgres数据库在程序包安装完成后立即初始化,如以下屏幕截图所示。

PostgreSQL数据库初始化

PostgreSQL数据库初始化

要检查Postgres数据库是否真正初始化,您可以使用pg_isready实用程序检查PostgreSQL服务器的连接状态,如下所示。

# pg_isready 
验证数据库初始化

验证数据库初始化

此外,在systemd下, Postgres服务也会自动启动并启用,以便在系统启动时启动。 要确保服务已启动并正常运行,请运行以下命令。

# systemctl status postgresql
检查PostgreSQL状态

检查PostgreSQL状态

以下是管理systemd下的Postgres服务的其他有用的systemctl命令

# systemctl start postgresql# systemctl restart postgresql# systemctl stop postgresql# systemctl reload postgresql 		#this reloads the service configuration

保护和配置PostgreSQL数据库

默认情况下, Postgres使用角色的概念来管理数据库访问权限,而数据库角色在概念上完全独立于操作系统用户。 角色可以是用户或组,具有登录权限的角色称为用户。

新初始化的系统始终包含一个名为postgres的预定义角色,它与名为postgres的操作系统用户帐户具有相同的名称,用于访问psqlPostgres shell )和其他数据库程序。

Postgres系统用户帐户不受密码保护,为了保护密码,您可以使用passwd实用程序创建密码。

# passwd postgres
为Postgres用户设置密码

为Postgres用户设置密码

此外,默认情况下, Postgres角色(或管理数据库用户,如果您愿意)不受保护。 您还需要使用密码保护它。 现在切换到postgres系统用户帐户和postgres角色(记得设置一个强大而安全的密码),如图所示。

# su - postgres# psql -c "ALTER USER postgres WITH PASSWORD 'securepass_here';"
安全Postgres管理员角色

安全Postgres管理员角色

然后退出postgres帐户继续该指南。

配置客户端认证

Postgres配置文件位于/etc/postgresql/11/main/postgresql.conf 除此文件外, Postgres还使用另外两个手动编辑的配置文件来控制客户端身份验证。

客户端身份验证由/etc/postgresql/11/main/pg_hba.conf配置文件控制。 Postgres提供了许多不同的客户端验证方法,包括基于密码的验证。 客户端连接基于客户端主机地址,数据库和用户进行身份验证。

如果选择使用基于密码的身份验证 ,则可以实现以下方法之一: md5密码 ,其操作方式类似,但密码通过连接传输的方式除外,分别为MD5散列和明文。

使用md5密码验证可以避免黑客窃取密码,避免以明文形式在服务器上存储密码。 如果连接受SSL加密保护,则只能安全地使用密码方法。

对于本指南,我们将展示如何为客户端身份验证配置md5密码身份验证。

# vim /etc/postgresql/11/main/pg_hba.conf 

查找以下行并将身份验证方法更改为md5 ,如屏幕截图所示。

local   all             all                                     md5
配置客户端验证方法

配置客户端验证方法

保存文件中的更改并退出。 然后通过重新启动Postgres服务来应用最近的更改,如下所示。

# systemctl restart postgresql

在PostgreSQL中创建新数据库和数据库角色/用户

在最后一节中,我们将展示如何创建新的数据库用户和数据库角色来管理它。 首先,切换到postgres帐户并按如下方式打开Postgres shell。

# su - postgres$ psql

要创建名为“test_db”的数据库,请运行以下SQL命令。

postgres=# CREATE DATABASE test_db;

然后创建一个数据库用户(具有登录权限的角色),他将按如下方式管理新数据库。

postgres=#CREATE USER test_user PASSWORD ‘[email protected]_here’;     #assumes login function by default

要以用户test_user身份连接到test_db ,请运行以下命令。

 $ psql -d  test_db  -U test_user
创建新的Postgres数据库

创建新的Postgres数据库

有关更多信息,请参阅PostgreSQL 11文档

结论

那就是现在! 在本指南中,我们展示了如何在Debian 10中安装,保护和配置PostgreSQL数据库服务器。 您有任何问题或想法要分享吗? 使用下面的评论表单联系我们。

赞(0) 打赏
未经允许不得转载:老赵部落 » 如何在Debian 10中安装PostgreSQL数据库
data-ad-format="auto" data-full-width-responsive="true">

评论 抢沙发