简介
PostgreSQL(或简称Postgres)是一个关系型数据库管理系统,它提供了SQL查询语言的实现。它符合标准,并且拥有许多高级特性,比如可靠的事务处理和无需读锁的并发控制。
本指南将展示如何在Ubuntu 22.04服务器上快速启动Postgres,从安装PostgreSQL到设置新用户和数据库。如果你想要更深入地了解如何安装和管理PostgreSQL数据库,请参阅如何在Ubuntu 22.04上安装和使用PostgreSQL。
接下来,我将一步一步教大家如何进行安装和部署!!
准备工作
服务器准备
必要前提:
- 一个充满求知欲的大脑。
- 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。
我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。
注册链接: https://rainyun.ivwv.site
创建雨云服务器
以下步骤仅供参考,请根据实际需求选择配置。
- 点击 云产品 → 云服务器 → 立即购买。
- 选择距离你较近的区域,以保证低延迟。
- 按照自己需求选择配置,选择Ubuntu 22.04 版本,按照自己需求是否预装Docker。
- 最后按照提示进行购买。
- 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。
- 我们使用
PowerShell
进行SSH
远程连接到服务器,Win+R
打开运行窗口,输入powershell
后点击确定。
- 输入
ssh root@你的服务器IP
例如ssh root@154.9.227.239
回车后,首次需要输入yes
,再次回车后即可登录服务器。
- 到此为止,我们的云服务器就远程连接上了。
开始部署
1.安装PostgreSQL
首先,更新你的服务器本地软件包索引:
sudo apt update
然后,安装Postgres软件包以及-contrib
软件包,后者增加了一些额外的实用工具和功能:
sudo apt install postgresql postgresql-contrib
确保服务已经启动:
sudo systemctl start postgresql.service
2.使用PostgreSQL角色和数据库
默认情况下,Postgres使用称为“角色”的概念来处理认证和授权。这些在某些方面类似于常规的Unix/Linux用户和组。
安装过程中创建了一个名为postgres的用户账户,它与默认的Postgres角色相关联。有几种方法可以使用这个账户访问Postgres。一种是切换到服务器上的postgres账户:
sudo -i -u postgres
然后你可以通过运行以下命令访问Postgres提示符:
psql
这将登录到PostgreSQL提示符,从这里你可以立即与数据库管理系统交互。
要退出PostgreSQL提示符,运行以下命令:
\\q
这将带你回到postgres Linux命令提示符。要返回到你的常规系统用户,运行exit
命令:
exit
另一种连接到Postgres提示符的方法是直接使用sudo
运行psql
命令:
sudo -u postgres psql
这将直接登录到Postgres,无需中间的bash
shell。
同样,你可以通过运行以下命令退出交互式Postgres会话:
\\q
3.创建新角色
如果你以postgres账户登录,可以通过运行以下命令创建新角色:
createuser --interactive
如果你更喜欢在不切换账户的情况下使用sudo
执行每个命令,运行:
sudo -u postgres createuser --interactive
无论哪种方式,脚本都会根据你的选择提示一些选项,并根据你的响应执行正确的Postgres命令以创建用户。
Enter name of role to add: sammy
Shall the new role be a superuser? (y/n) y
4.创建新数据库
Postgres认证系统默认假设,对于任何用于登录的角色,该角色将有一个同名的数据库可以访问。
这意味着如果你在上一节创建的用户名为sammy,那么该角色将尝试连接到一个也叫做“sammy”的数据库。你可以使用createdb
命令创建相应的数据库。
如果你以postgres账户登录,你可以输入如下命令:
createdb sammy
如果你更喜欢在不切换账户的情况下使用sudo
执行每个命令,你会运行:
sudo -u postgres createdb sammy
5.使用新用户打开Postgres提示符
要使用基于ident
的认证登录,你需要一个与你的Postgres角色和数据库同名的Linux用户。
如果你没有可用的匹配Linux用户,你可以使用adduser
命令创建一个。你需要从具有sudo
权限的非root账户执行此操作:
sudo adduser sammy
一旦这个新账户可用,你可以切换过去并连接到数据库:
sudo -i -u sammy
psql
或者,你可以这样做:
sudo -u sammy psql
这个命令将自动登录,假设所有组件都已正确配置。
如果你想让你的用户连接到不同的数据库,可以指定数据库,如下所示:
psql -d postgres
登录后,你可以通过运行以下命令检查当前的连接信息:
\\conninfo
输出:
You are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".
相关链接
雨云 - 新一代云服务提供商: https://rainyun.ivwv.site
我的博客:https://blog.ivwv.site