在RHEL 8中如何安装PostgreSQL?
时间:2019-04-29 03:18:27 来源:igfitidea点击:
PostgreSQL是一个免费的开源ORDBMS(对象关系数据库管理系统)。它是世界上先进的开源数据库之一。
如何在RHEL 8上安装PostgreSQL,如何配置数据库服务器?
在RHEL 8上如何安装PostgreSQL
- 打开终端
- 查看要安装的PostgreSQL版本:
sudo yum module list | grep postgresql
- 安装PostgreSQL
sudo yum install @postgresql
- 初始化PostgreSQL数据库
sudo postgresql-setup --initdb
如何在RHEL 8上查看所有可安装的PostgreSQL
$ sudo yum module list | grep postgresql
如何在RHEL 8上安装和使用PostgreSQL
## 安装 PostgreSQL 10.1 $ ### sudo yum install @postgresql:10.1 ## 安装默认版本的PostgreSQL $ sudo yum install @postgresql
如何初始化PostgreSQL数据库
安装PostgreSQL服务器后第一件事就是执行下面的命令
$ sudo postgresql-setup --initdb
如何为postgres帐户设置密码
$ sudo passwd postgres
如何启动/停止/重启PostgreSQL
### 启动PostgreSQL服务 $ sudo systemctl start postgresql ### 停止PostgreSQL服务 $ sudo systemctl stop postgresql ### 重启PostgreSQL服务 $ sudo systemctl restart postgresql ### 查看PostgreSQL服务的状态 $ sudo systemctl status postgresql
如何在开机时启动PostgreSQL服务
$ sudo systemctl enable postgresql
如何登录postgresql数据库
安装脚本创建了一个用户postgres。我们可以通过它使用psql命令来登录数据库
$ sudo -i -u postgres $ psql
在postgres=#
输入 \q就可以退回到系统shell。
注意我们登录时没有提示需要密码。
解决这个问题,修改HBA配置:
/var/lib/pgsql/data/pg_hba.conf:
# 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
将原来的两个 ident改成 scram-sha-256
然后重启postgresql 服务器
$ sudo systemctl restart postgresql
如何创建一个新的PostgreSQL用户帐户
首先创建一个Linux用户帐户
$ sudo useradd alice $ sudo passwd alice
postgres帐户只是PostgreSQL服务器的一个管理用户。所以我们使用postgres登录:
$ sudo -i -u postgres
然后运行下面的命令,为新linux用户授予PostgreSQL 角色
$ createuser --interactive Enter name of role to add :alice ### 新角色是否为超级用户 Shall the new role be a superuser? (y/n) n ###新角色是否可以创建数据库 Shall the new role be allowed to create databases? (y/n) y ### 新角色能否创建其他角色 Shall the new role be allowed to create more new roles? (y/n) n
下面的命令可以同时设置账号的密码
$ createuser --interactive --pwprompt Enter name of role to add :alice Enter password for new role: Enter it again: Shall the new role be a superuser? (y/n) n Shall the new role be allowed to create databases? (y/n) y Shall the new role be allowed to create more new roles? (y/n) n
使用我们的新用户来创建一个petdb看是否正常:
$ sudo -i -u postgres $ createdb -O alice petdb
如何使用alice账号来连接petdb数据库
$ sudo -i -u alice $ psql -d petdb -U tomalice
如何在PostgreSQL中创建新表
登录到postgresql数据库:
$ psql -d petdb -U alice
输入下面的SQL语句创建一个user表
CREATE TABLE user( id serial PRIMARY KEY, email VARCHAR (100) UNIQUE NOT NULL, name VARCHAR (50) UNIQUE NOT NULL );
输入 \d或者 \dt查看表的信息
\d \dt
在PostgreSQL中如何插入新数据到表中
INSERT INTO user (id, email, name) VALUES (1, '[email protected]', '124.com'); INSERT INTO user (id, email, name) VALUES (2, '[email protected]', 'Foo Bar'); INSERT INTO user (id, email, name) VALUES (3, '[email protected]', 'aldis'); INSERT INTO user (id, email, name) VALUES (4, '[email protected]', 'Marlena John');
在PostgreSQL中如何搜索表
SELECT * FROM user;
如何删除数据库表中的数据
DELETE FROM user WHERE id = 4;
如何更新数据库表数据
UPDATE demo SET email = '[email protected]' WHERE id = 2;