在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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
2月前
|
Ubuntu Linux
任何Ubuntu用户都应安装的四大Linux应用程序
当然,这款程序不需要太多介绍。我们面对的是网上最庞大最完整的多媒体中心,由于丰富的插件,我们能够高度细化地定制其每一项功能。这是我们的Linux发行版不可或缺的必备软件。 我们可以通过运行以下命令来轻松安装Kodi:sudo apt install kodi。
|
2月前
|
Ubuntu 物联网 Linux
从零安装一个Linux操作系统几种方法,以Ubuntu18.04为例
一切就绪后,我们就可以安装操作系统了。当系统通过优盘引导起来之后,我们就可以看到跟虚拟机中一样的安装向导了。之后,大家按照虚拟机中的顺序安装即可。 好了,今天主要介绍了Ubuntu Server版操作系统的安装过程,关于如何使用该操作系统,及操作系统更深层的原理,还请关注本号及相关圈子。
|
2月前
|
Ubuntu Linux 网络安全
Linux服务器之Ubuntu的安装与配置
Ubuntu Desktop是目前最成功、最流行的图形界面的Linux发行版;而Ubuntu Server也在服务器端市场占据了较大的份额。今天为大家详细介绍了Ubuntu Server的安装与配置,希望对你能有所帮助。关于VMware、VirtualBox等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!
|
10天前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
116 18
|
SQL Ubuntu 关系型数据库
PostgreSQL介绍和PostgreSQL包安装
PostgreSQL 是一个功能强大、可扩展的开源关系型数据库系统,以其可靠性、数据完整性和高性能著称。它支持复杂查询、事务、多版本并发控制及丰富的数据类型,适用于各种应用场景。本文介绍 PostgreSQL 的核心特性,并详细说明在多种 Linux 发行版上的安装与配置方法,帮助用户快速部署和使用该数据库系统。
180 0
|
12天前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
75 15
|
12天前
|
存储 Ubuntu iOS开发
在Ubuntu 22.04系统上安装libimobiledevice的步骤
为了获取更多功能或者解决可能出现问题,请参考官方文档或者社区提供支持。
54 14
|
13天前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
188 7
|
27天前
|
消息中间件 人工智能 运维
Ubuntu环境下的 RabbitMQ 安装与配置详细教程
本文聚焦在Ubuntu下RabbitMQ安装与配置教程,旨在帮助读者快速构建稳定可用的消息队列服务。
|
2月前
|
XML Ubuntu Java