PostgreSQL一般称作Postgres,是一种开源代码的实用性对象关系数据库管理系统软件。
其具有很多强大的功效,例如网上备份资料,时间范围修补,置入事务处理,SQL和JSON查询,其他版本并发控制(MVCC,异步复制这种。
本入门教程将说明如何在Debian 10拼装PostgreSQL数据库服务器的操作流程。我们还将探讨大部分数据库管理方案的前提条件。需要在Debian 10拼装PostgreSQL,请运作以下步骤。
还在持续学习本入门教程之前,请确保您以root或者具有sudo管理权限用户登录。在撰写该文时,能从官方网站Debian软件源中所取得的PostgreSQL的最新版本是11。
最开始升级本地软件包查找,并安装PostgreSQL服务器以及PostgreSQL contrib软件包,后边一种为PostgreSQL数据库提供了一些附加功能。
安装完成后,PostgreSQL服务将自启动。要验证PostgreSQL拼装是否安装好了,我们在这里尝试使用psql
输送到PostgreSQL数据库服务器打印图片服务器版本信息。
psql是PostgreSQL服务器互动型cmdapp客户端,使我们可以跟PostgreSQL服务器进行互动交流。
sudo apt update
sudo apt install postgresql postgresql-contrib
sudo -u postgres psql -c "SELECT version();"
PostgreSQL角色和身份认证
PostgreSQL中的数据库访问权限是通过角色这一概念来处理的。一个角色可以代表一个数据库用户或一组数据库用户。
PostgreSQL支持多种身份认证方法。常见是。
Trust-运用此方法,只要符合pg_hba.conf
中定义的规范,角色就可以不用使用密码进行连接。
Password-可以通过给与用户名和密码来连接数据库。用户名和密码可以储放为scram-sha-256
md5
和保密password
。
Ident-仅在TCP/IP连到可用此方法。依据得到客户端的电脑系统用户名以及可选择的用户名投影来工作上。
Peer-与Ident相同,但仅在拨号连接上受可用。
PostgreSQLapp客户端身份验在pg_hba.conf
的系统变量中定义。默认情况下,对于拨号连接,PostgreSQL设成运用相同身份认证方法。
使用PostgreSQL的时候就会自动式创建postgres
用户。postgres
用户是PostgreSQL实例的世界级用户,它等效于MySQL root用户。
倘若你以postgres用户登录PostgreSQL服务器,我们需要切换到用户 postgres,接着能用psql
app客户端访问PostgreSQL。
当登录到PostgreSQL后你能和PostgreSQL实例进行互动交流。要退出PostgreSQL会话,请输入q
。
您也可以运用sudo
命令来访问PostgreSQL提示符,而无需变换用户。一般单单从本地主机运用postgres
用户,不推荐因而用户设置开机密码。
sudo su - postgres #闭合电路命令sudo -u postgres psql
创建PostgreSQL角色和数据库
您可以使用createuser
命令从智能终端创建新角色。只有具有CREATEROLE
管理员权限的世界级用户和角色才能够创建新角色。
在以下案例中,我们在这里创建一个名为john
的角色以及一个名为johndb
的数据库,并授于对该数据库的所有管理员权限。
运用createuser
创建一个新的PostgreSQL用户john,运用createdb
命令创建名字叫做johndb的数据库。
下边授于管理员权限,要往上一步中创建的数据库中的john
用户授于管理员权限,请输送到PostgreSQL shell。并且用grant语句授于管理员权限。
sudo su - postgres -c "createuser john"
sudo su - postgres -c "createdb johndb"
sudo -u postgres psql
grant all privileges on database johndb to john;
远程登陆PostgreSQL服务器
默认情况下,PostgreSQL服务器仅在本地插孔127.0.0.1
上监视。要打开对PostgreSQL服务器的远程登陆。
请打开系统变量postgresql.conf
,随后在CONNECTIONS AND AUTHENTICATION
节中探寻listen_addresses
配备并改为listen_addresses = '*'
。
在教学中我们在这里运用vim打开文档sudo vim /etc/postgresql/11/main/postgresql.conf
。搜索关键字listen_addresses精确定位此次。
修改完成后,保存文件并退出vim,然后使用命令sudo service postgresql restart
重新启动PostgreSQL服务。
运用ss
命令ss -nlt | grep 5432
验证变动。从PostgreSQL服务器的输出中可以看到,早已监视在大部分插孔0.0.0.0:5432
。
最后一步是通过撰写pg_hba.conf
文本文档将服务器配置为接受远程桌面连接。pg_hba.conf
文本文档有好多字段TYPE说明服务器类型。
DATABASE字段是PostgreSQL的信息的名称,USER是PostgreSQL的数据库。ADDRESS是服务器ip,0.0.0.0/0说明允许所有服务器ip。
METHOD是身份认证方法,检测方法客户程序PostgreSQL角色和身份认证。
最后一步需在电脑防火墙中打开端口5432
。假设你在应用UFW
管理方案电脑防火墙,同时还要允许从192.168.1.0/24
子网掩码进行访问。
sudo ufw allow proto tcp from 192.168.1.0/24 to any port 5432
# TYPE DATABASE USER ADDRESS METHOD
host all jane 0.0.0.0/0 md5
结论
大伙儿为大家彰显了如何在Debian 10上安装和配置PostgreSQL。有关此主题风格更多信息,客户程序 PostgreSQL文本文件。
如果您有任何问题或意见和建议,请随时。
