尝试在CentOS7上安装并进行基本配置PostgreSQL10
我在Docker的CentOS7上安装和进行了postgresql的初始设置,下面将写出这个步骤。
只需要提供一个选项:前提
假定已经完成了Docker的安装和容器的创建,本文不再提及Docker。因为网络上有很多相关信息,请自行查询。
建置步驟
环境
-
- CentOS 7.5
- PostgreSQL 10.4
安装
添加存储库
# sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
客户端和服务器的安装。
# yum -y install postgresql10 postgresql10-server
设置命令的路径
# echo "PATH=/usr/pgsql-10/bin:$PATH" >> ~/.bashrc
# source ~/.bashrc
对数据库进行初始化 in Chinese
# postgresql-10-setup initdb
只要出现“OK”表示就说明成功了!
启动数据库
# systemctl start postgresql-10 // 起動
# systemctl enable postgresql-10 // 自動起動
操作DB
通过PostgreSQL访问
# su - postgres
# psql
// 以下のプロンプトになれば成功!
postgres=#
创建用户
我們來創建一個只有創建數據庫權限的用戶,以admin作為用戶名和密碼。
postgres=# CREATE ROLE admin WITH LOGIN PASSWORD 'admin' CREATEDB;
postgres=# \du // 作成できたか確認
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------+-----------
admin | Create DB | {}
创建数据库
创建一个名为admin的数据库,拥有管理员admin作为所有者。
postgres=# CREATE DATABASE admin OWNER admin;
postgres=# \l // 作成できたか確認
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+-----------+---------+-------+-----------------------
admin | admin | SQL_ASCII | C | C | =Tc/admin +
| | | | | admin=CTc/admin
对于数据库对象的权限
给予admin用户对admin数据库的所有权限。
postgres=# GRANT ALL ON DATABASE admin TO admin\;
从PostgreSQL导出
postgres=# \q
更改认证方式
默认情况下,只允许对等体和标识进行认证,因此在这种情况下需要在操作系统中创建管理员用户。因此,注释掉默认设置,并设置基于MD5加密的密码认证。
# vi /var/lib/pgsql/10/data/pg_hba.conf // 以下のように編集
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
- local all all peer
+ local all all md5
读取更改
# systemctl reload postgresql-10
使用admin用户进行访问
# psql -U admin
Password for user admin:
psql (10.4)
Type "help" for help.
admin=>
如果能达到这样的状态,就是成功了!
从安装PostgreSQL到基本设置完成。
请阅读以下内容并提供一个合适的选项:
参考:
-
- PostgreSQL: Linux downloads (Red Hat family)
- PostgreSQL: Documentation: 10: CREATE ROLE