如何在RHEL 8上安装和设置PostgreSQL
如何使用命令行在RHEL 8上安装PostgreSQL关系数据库管理?
如何使用应用程序流在RHEL 8(Red Hat Enterprise Linux)服务器上安装和设置PostgreSQL?
说明:PostgreSQL是一个免费且开源的ORDBMS(对象关系数据库管理系统)。
它是世界上最先进的开源数据库。
该页面显示了如何在RHEL 8上安装PostgreSQL以及配置数据库服务器的其他方面。
如何在RHEL 8上安装和设置PostgreSQL
- 打开终端窗口
- 查找要在RHEL 8上安装的PostgreSQL版本:
sudo yum module list | grep postgresql
- 在RHEL 8上安装默认的PostgreSQL版本10:
sudo yum install @ postgresql
- 接下来在RHEL 8中初始化新的PostgreSQL数据库集群:
sudo postgresql-setup --initdb
让我们详细查看所有命令。
如何在RHEL 8上查看所有可用的PostgreSQL应用程序流的列表
运行以下yum命令
$ sudo yum module list | grep postgresql
如何在RHEL 8上安装和使用PostgreSQL
在上一步中,我们看到RHEL 8附带了两个用于PostgreSQL服务器的应用程序流。
要安装PostgreSQL 9.6,运行:
$ sudo yum install @postgresql:9.6
默认值为PostgreSQL 10,因此运行以下yum命令将安装最新的稳定版本:
$ sudo yum install @postgresql
使用应用程序流在RHEL 8上安装和使用PostgreSQL
如何初始化新的PostgreSQL数据库集群
PostgreSQL服务器安装后执行的第一个操作是运行以下命令:
$ sudo postgresql-setup --initdb
在RHEL 8上创建新的PostgreSQL数据库集群
如何为Postgres帐户设置密码
运行以下passwd命令来设置密码:
$ sudo passwd postgres
输出示例:
Changing password for user postgres. New password: Retype new password: passwd: all authentication tokens updated successfully.
如何启动/停止/重启PostgreSQL服务器
您需要使用systemctl命令:
sudo systemctl start postgresql ## <-- start the server ## sudo systemctl stop postgresql ## <-- stop the server ## sudo systemctl restart postgresql ## <-- resstart the server ## sudo systemctl status postgresql ## <-- get status of the server ##
如何在启动时在RHEL 8上启用PostgreSQL服务器
再次使用systemctl命令,如下所示:
$ sudo systemctl enable postgresql
启动并启用PostgreSQL服务器
如何使用psql登录?
您需要使用psql命令。
它是PostgreSQL服务器的基于终端的前端。
它使您可以交互式地输入查询。
安装脚本创建了一个名为postgres的用户。
这是默认数据库和角色的默认帐户。
让我们使用sudo命令以postgres身份登录:
$ sudo -i -u postgres
运行:
$ psql
验证PostgreSQL数据库服务器的安装
在postgres =#
提示符下,执行\ q从命令行界面退出到PostgreSQL服务器。
您是否注意到您没有任何密码登录PostgreSQL?
让我们通过创建HBA配置来解决此问题:
$ sudo vi /var/lib/pgsql/data/pg_hba.conf
查找如下所示的行:
# IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 ident
将ident
替换为scram-sha-256
:
# IPv4 local connections: host all all 127.0.0.1/32 scram-sha-256 # IPv6 local connections: host all all ::1/128 scram-sha-256
重新启动PostgreSQL服务器:
$ sudo systemctl restart postgresql
如何创建一个新的PostgreSQL用户帐户
首先创建一个名为tom的Linux用户帐户:
$ sudo useradd tom $ sudo passwd tom
输出示例:
Changing password for user tom. New password: Retype new password: passwd: all authentication tokens updated successfully.
postgres帐户不过是PostgreSQL服务器的管理用户。
因此,以postgres身份登录:
$ sudo -i -u postgres
运行以下createuser命令为tom Linux用户创建一个新的PostgreSQL角色:
$ createuser --interactive
定义一个名为tom的新PostgreSQL用户帐户
创建一个具有新角色密码的新用户帐户:
$ createuser --interactive --pwprompt
在PostgreSQL上用密码创建用户
最后,以postgres admin用户身份登录,为tom用户创建一个名为jerry的新数据库:
$ sudo -i -u postgres $ createdb -O tom jerry
相关
:PostgreSQL添加或创建用户帐户并授予数据库权限
如何与tom用户连接到jerry数据库?
只需运行以下命令:
$ sudo -i -u tom $ psql -d jerry -U tom
使用名为jerry数据库的新用户tom连接到PostgreSQL服务器
如何建立新表格
登录:
$ psql -d jerry -U tom
执行以下SQL创建演示表:
CREATE TABLE demo( id serial PRIMARY KEY, email VARCHAR (100) UNIQUE NOT NULL, name VARCHAR (50) UNIQUE NOT NULL );
查看有关演示表的信息:
\d
或者
\dt
让我们向表中添加一些数据,运行以下SQL:
INSERT INTO demo (id, email, name) VALUES (1, '[email protected]', ''); INSERT INTO demo (id, email, name) VALUES (2, '[email protected]', 'Foo Bar'); INSERT INTO demo (id, email, name) VALUES (3, '[email protected]', 'Roja T'); INSERT INTO demo (id, email, name) VALUES (4, '[email protected]', 'Marlena John');
查看数据:
SELECT * FROM demo;
删除一些数据:
DELETE FROM demo WHERE id = 4;
更新数据:
UPDATE demo SET email = '[email protected]' WHERE id = 2;