在Ubuntu 14.04上安装和使用PostgreSQL的方法

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
简介: 在Ubuntu 14.04上安装和使用PostgreSQL的方法

介绍

关系数据库管理系统是许多网站和应用程序的关键组件。它们提供了一种结构化的方式来存储、组织和访问信息。

PostgreSQL,或者简称为 Postgres,是一种关系数据库管理系统,提供了对 SQL 查询语言的实现。它是许多小型和大型项目的热门选择,并且具有符合标准和许多高级功能的优势,如可靠的事务和并发性而无需读取锁定。

在本指南中,我们将演示如何在 Ubuntu 14.04 VPS 实例上安装 Postgres,并介绍一些基本的使用方法。

安装

Ubuntu 的默认软件仓库包含了 Postgres 软件包,因此我们可以使用 apt 软件包管理系统轻松安装它们。

由于我们最近没有更新本地的 apt 软件仓库,让我们现在进行更新。然后我们可以获取 Postgres 软件包和一个“contrib”软件包,它添加了一些额外的实用工具和功能:

sudo apt-get update
sudo apt-get install postgresql postgresql-contrib

现在我们的软件已安装完成,我们可以了解它的工作原理以及它与您可能使用过的类似数据库管理系统有何不同。

使用 PostgreSQL 角色和数据库

默认情况下,Postgres 使用称为“角色”的概念来辅助身份验证和授权。在某些方面,这些与常规的 Unix 风格帐户类似,但 Postgres 不区分用户和组,而是更倾向于更灵活的术语“角色”。

安装后,Postgres 被设置为使用“ident”身份验证,这意味着它将 Postgres 角色与匹配的 Unix/Linux 系统帐户关联起来。如果存在 Postgres 角色,则可以通过登录到关联的 Linux 系统帐户来登录。

安装过程创建了一个名为 postgres 的用户帐户,该帐户与默认的 Postgres 角色关联。为了使用 Postgres,我们需要登录到该帐户。您可以通过输入以下命令来执行:

sudo -i -u postgres

系统会要求您输入正常用户密码,然后会为 postgres 用户给出一个 shell 提示符。

您可以立即获取一个 Postgres 提示符,方法是输入:

psql

您将自动登录,并可以立即与数据库管理系统交互。

但是,我们将解释一下如何使用其他角色和数据库,以便您可以灵活选择要使用的用户和数据库。

通过输入以下命令退出 PostgreSQL 提示符:

\q

现在您应该回到 postgres Linux 命令提示符。

创建新角色

postgres Linux 帐户,您有能力登录到数据库系统。但是,我们还将演示如何创建其他角色。与 Postgres 管理角色相关联的 postgres Linux 帐户可以访问一些实用程序来创建用户和数据库。

您可以通过输入以下命令来创建新角色:

createuser --interactive

这基本上是一个交互式的 shell 脚本,调用正确的 Postgres 命令来根据您的规格创建用户。它只会问您两个问题:角色的名称以及是否应该是超级用户。通过查看 man 页面,您可以通过传递一些额外的标志来获得更多控制:

man createuser

创建新数据库

Postgres 默认设置的方式(通过匹配系统帐户请求的认证角色)还假设将存在一个匹配的数据库供角色连接。

因此,如果我有一个名为 test1 的用户,该角色将默认尝试连接到名为 test1 的数据库。

您可以通过以下命令作为 postgres 用户创建适当的数据库:

createdb test1

使用新用户连接到 Postgres

假设您有一个名为 test1 的 Linux 系统帐户(您可以通过输入 adduser test1 来创建一个),并且您还创建了一个名为 test1 的 Postgres 角色和数据库。

您可以通过输入以下命令切换到 Linux 系统帐户:

sudo -i -u test1

然后,您可以通过输入以下命令作为 test1 Postgres 角色连接到 test1 数据库:

psql

假设所有组件都已配置好,这将自动登录。

如果您希望您的用户连接到不同的数据库,可以通过以下方式指定数据库:

psql -d postgres

通过输入以下命令,您可以获取有关您当前登录的 Postgres 用户和当前连接的数据库的信息:

\conninfo

这可以帮助您在连接到非默认数据库或使用非默认用户时提醒您当前的设置。

创建和删除表格

现在您已经知道如何连接到 PostgreSQL 数据库系统,我们将开始介绍如何完成一些基本任务。

首先,让我们创建一个表来存储一些数据。让我们创建一个描述游乐场设备的表。

这个命令的基本语法如下:

CREATE TABLE <span class="highlight">table_name</span> (
    <span class="highlight">column_name1</span> <span class="highlight">col_type</span> (<span class="highlight">field_length</span>) <span class="highlight">column_constraints</span>,
    <span class="highlight">column_name2</span> <span class="highlight">col_type</span> (<span class="highlight">field_length</span>),
    <span class="highlight">column_name3</span> <span class="highlight">col_type</span> (<span class="highlight">field_length</span>)
);

如您所见,我们给表格命名,然后定义我们想要的列,以及列类型和字段数据的最大长度。我们还可以为每个列选择性地添加表格约束。

您可以在此处了解有关如何在 Postgres 中创建和管理表格的更多信息。

对于我们的目的,我们将创建一个简单的表格,如下所示:

CREATE TABLE playground (
    equip_id serial PRIMARY KEY,
    type varchar (50) NOT NULL,
    color varchar (25) NOT NULL,
    location varchar(25) check (location in ('north', 'south', 'west', 'east', 'northeast', 'southeast', 'southwest', 'northwest')),
    install_date date
);

我们创建了一个游乐场表,用于记录我们拥有的设备。这从一个设备 ID 开始,它是 serial 类型。这种数据类型是自增的整数。我们给这个列添加了 primary key 约束,这意味着值必须是唯一的且不为空。

对于我们的两个列,我们没有给出字段长度。这是因为某些列类型不需要设置长度,因为长度由类型隐含确定。

然后我们为设备类型和颜色创建了列,每个列都不能为空。然后我们创建了一个位置列,并创建了一个约束,要求值必须是八个可能值中的一个。最后一列是一个日期列,记录我们安装设备的日期。

我们可以通过输入以下命令来查看我们的新表格:

\d

您会看到,我们有我们的游乐场表,但我们还有一个名为 playground_equip_id_seq 的东西,它是 sequence 类型。这是我们给 equip_id 列的 “serial” 类型的表示。这跟踪了序列中的下一个数字。

如果您只想看到表格,可以输入:

\dt

向表格中添加、查询和删除数据

现在我们已经创建了一个表格,我们可以向其中插入一些数据。

让我们添加一个滑梯和一个秋千。我们通过调用我们想要添加的表格,命名列,然后为每个列提供数据来完成这个操作。我们可以像这样添加我们的滑梯和秋千:

INSERT INTO playground (type, color, location, install_date) VALUES ('slide', 'blue', 'south', '2014-04-28');
INSERT INTO playground (type, color, location, install_date) VALUES ('swing', 'yellow', 'northwest', '2010-08-16');

您应该注意到一些事情。首先,请记住,列名不应该用引号括起来,但您输入的列 需要用引号括起来。

另一件需要注意的事情是,我们不为 equip_id 列输入值。这是因为每当在表格中创建新行时,这个值都会自动生成。

然后,我们可以通过输入以下命令来获取我们添加的信息:

SELECT * FROM playground;

在这里,您可以看到我们的 equip_id 已经成功填充,而且我们的其他所有数据都已经正确组织。

如果我们的滑梯坏了并且我们将其从游乐场中移除,我们也可以通过输入以下命令从我们的表格中删除该行:

DELETE FROM playground WHERE type = 'slide';

如果我们再次查询我们的表格,我们将看到我们的滑梯不再是表格的一部分:

SELECT * FROM playground;

如何向表中添加和删除列

如果我们想在创建表后修改它以添加额外的列,我们可以很容易地实现这一点。

我们可以通过输入以下命令来添加一个列,以显示每个设备的最后一次维护访问:

ALTER TABLE playground ADD last_maint date;

如果再次查看表信息,你会发现新列已经被添加(但尚未输入数据):

SELECT * FROM playground;
equip_id | type  | color  | location  | install_date | last_maint 
----------+-------+--------+-----------+--------------+------------
        2 | swing | yellow | northwest | 2010-08-16   | 
(1 row)

我们同样可以轻松地删除一列。如果我们发现我们的工作人员使用单独的工具来跟踪维护历史,我们可以通过输入以下命令在这里删除该列:

ALTER TABLE playground DROP last_maint;

如何在表中更新数据

我们知道如何向表中添加记录和删除它们,但我们还没有涉及如何修改现有条目。

你可以通过查询你想要的记录并将列设置为你希望使用的值来更新现有条目的值。我们可以查询“swing”记录(这将匹配表中的每个秋千),并将其颜色更改为“红色”。如果我们给它喷了一层油漆,这可能会很有用:

UPDATE playground SET color = 'red' WHERE type = 'swing';

我们可以通过再次查询我们的数据来验证操作是否成功:

SELECT * FROM playground;
equip_id | type  | color | location  | install_date 
----------+-------+-------+-----------+--------------
        2 | swing | red   | northwest | 2010-08-16
(1 row)

如你所见,我们的秋千现在被注册为红色。

结论

你现在已经在你的 Ubuntu 14.04 服务器上设置了 PostgreSQL。然而,还有更多关于 Postgres 的知识需要学习。以下是一些涵盖如何使用 Postgres 的更多指南:

  • 关系数据库管理系统的比较
  • 学习如何创建和管理 Postgres 表
  • 更好地管理角色和权限
  • 使用 Select 在 Postgres 中编写查询
  • 安装 phpPgAdmin 以通过 Web 界面管理数据库
  • 学习如何保护 PostgreSQL
  • 设置主从复制与 Postgres
  • 学习如何备份 Postgres 数据库


相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
打赏
0
1
1
1
40
分享
相关文章
在Ubuntu上安装MEAN Stack的4个步骤
本指南介绍了在Ubuntu上安装MEAN Stack的四个步骤。MEAN Stack是一种基于JavaScript的开发堆栈,包含MongoDB、ExpressJS、AngularJS和NodeJS。步骤包括:1. 更新系统并准备安装MEAN;2. 从官方源安装最新版MongoDB;3. 安装NodeJS、Git和NPM;4. 克隆mean.io仓库并使用NPM安装剩余依赖项。通过这些步骤,您可以快速搭建基于MEAN Stack的应用开发环境。
34 2
在Ubuntu下安装Debian包:dpkg与apt命令的深度解构。
安装Debian包的知识,就像掌握了海上的航行技术,虽然起初会让人感到陌生甚至困惑,但只要你积累熟练,就能在Ubuntu的世界里畅游无阻。就像每一位成功的航海家,掌握好这些工具,去探索属于你的Ubuntu新世界吧!
61 21
容器技术实践:在Ubuntu上使用Docker安装MySQL的步骤。
通过以上的操作,你已经步入了Docker和MySQL的世界,享受了容器技术给你带来的便利。这个旅程中你可能会遇到各种挑战,但是只要你沿着我们划定的路线行进,你就一定可以达到目的地。这就是Ubuntu、Docker和MySQL的灵魂所在,它们为你开辟了一条通往新探索的道路,带你亲身感受到了技术的力量。欢迎在Ubuntu的广阔大海中探索,用Docker技术引领你的航行,随时准备感受新技术带来的震撼和乐趣。
45 16
|
14天前
|
Ubuntu gnome WhiteSur-gtk-theme类mac主题正确安装和卸载方式
通过这个过程,用户不仅可以定制自己的桌面外观,还可以学习到更多关于 Linux 系统管理的知识,从而更好地掌握系统配置和主题管理的技巧。
61 12
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
185 25
在 Ubuntu 20.04 上安装和配置 Redis
在 Ubuntu 20.04 上安装和配置 Redis 的步骤如下:首先更新系统包,然后通过 `apt` 安装 Redis。安装后,启用并启动 Redis 服务,检查其运行状态。可选配置包括修改绑定 IP、端口等,并确保防火墙设置允许外部访问。最后,使用 `redis-cli` 测试 Redis 功能,如设置和获取键值对。
34 1
PostgreSQL 入门指南:安装、配置与基本命令
本文从零开始,详细介绍如何在 Windows、Linux 和 macOS 上安装和配置 PostgreSQL,涵盖30+个实操代码示例。内容包括安装步骤、配置远程访问和用户权限、基础数据库操作命令(如创建表、插入和查询数据),以及常见问题的解决方案。通过学习,你将掌握 PostgreSQL 的基本使用方法,并为后续深入学习打下坚实基础。
490 1
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
439 15
|
2月前
|
Ubuntu下载ISO镜像的方法
步骤 1:访问Ubuntu官方网站 打开浏览器,输入Ubuntu的官方网址:https://cn.ubuntu.com/download/desktop 接着,点击“Ubuntu Desktop”或你需要的Ubuntu版本。
593 6