百度官方网站网址是多少,普通电脑如何做网站服务器吗,企业微信一年的费用要多少,禁用wordpress编辑器前些天发现了一个巨牛的人工智能学习网站#xff0c;通俗易懂#xff0c;风趣幽默#xff0c;忍不住分享一下给大家。点击跳转到网站。
简介
关系型数据库是满足多种需求的数据组织的基石。它们支持从在线购物到火箭发射等各种应用。PostgreSQL 是一种历史悠久但仍然活跃的…前些天发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默忍不住分享一下给大家。点击跳转到网站。
简介
关系型数据库是满足多种需求的数据组织的基石。它们支持从在线购物到火箭发射等各种应用。PostgreSQL 是一种历史悠久但仍然活跃的数据库它遵循大部分 SQL 标准支持 ACID 事务支持外键和视图并且仍在积极开发中。
如果你运行的应用程序需要稳定性、软件包质量和简单的管理Debian 8代号“Jessie”是 Linux 发行版中最佳的选择之一。它的更新速度比其他“发行版”慢一些但其稳定性和质量得到了广泛认可。如果你的应用程序或服务需要数据库Debian 8 和 PostgreSQL 的组合是最佳选择之一。
本文将向您展示如何在新的 Debian 8 Stable 实例上安装 PostgreSQL 并开始使用。
先决条件
首先要做的是启动 Debian 8 Stable 系统。你可以按照《使用 Debian 8 进行初始服务器设置》中的说明进行操作。本教程假设你已经准备好了一个 Debian 8 Stable Droplet。
除非另有说明本教程中的所有命令都应该以具有 sudo 权限的非 root 用户身份运行。要了解如何创建用户并授予他们 sudo 权限请查看《使用 Debian 8 进行初始服务器设置》。
安装 PostgreSQL
在安装 PostgreSQL 之前请确保通过以下命令更新 apt 软件包列表以获取来自 Debian 软件仓库的最新信息
sudo apt-get update你应该看到软件包列表正在更新并出现以下消息
Reading package lists... Done.有几个以 postgresql 开头的软件包
postgresql-9.4PostgreSQL 服务器软件包postgresql-client-9.4PostgreSQL 客户端postgresqlDebian 手册或 Debian 新维护者指南中更好解释的“元软件包”
要直接安装 postgresql-9.4 软件包
sudo apt-get install postgresql-9.4 postgresql-client-9.4在提示时输入 Y 安装软件包。如果一切顺利软件包现在已从软件仓库下载并安装。
检查安装
要检查 PostgreSQL 服务器是否正确安装并正在运行可以使用 ps 命令
ps -ef | grep postgre你应该在终端上看到类似以下内容
postgres 32164 1 0 21:58 ? 00:00:00 /usr/lib/postgresql/9.4/bin/postgres -D /var/lib/ postgresql/9.4/main -c config_file/etc/postgresql/9.4/main/postgresql.conf
postgres 32166 32164 0 21:58 ? 00:00:00 postgres: checkpointer process
postgres 32167 32164 0 21:58 ? 00:00:00 postgres: writer process
postgres 32168 32164 0 21:58 ? 00:00:00 postgres: wal writer process
postgres 32169 32164 0 21:58 ? 00:00:00 postgres: autovacuum launcher process
postgres 32170 32164 0 21:58 ? 00:00:00 postgres: stats collector process 成功PostgreSQL 已成功安装并正在运行。
访问 PostgreSQL 数据库
在 Debian 上PostgreSQL 安装了一个名为 postgres 的默认用户和默认数据库。要连接到数据库首先需要切换到 postgres 用户方法是在以 root 用户登录的情况下发出以下命令使用 sudo 权限无法执行此操作
su - postgres现在你应该已经以 postgres 用户登录。要启动 PostgreSQL 控制台输入 psql
psql完成你应该已经登录到 PostgreSQL 控制台。你应该看到以下提示
psql (9.4.2)
Type help for help.postgres# 要退出 psql 控制台只需使用命令 \q。
创建新角色
默认情况下Postgres 使用称为“角色”的概念来帮助进行身份验证和授权。在某些方面这些与常规的 Unix 风格帐户类似但 PostgreSQL 不区分用户和组而是更倾向于更灵活的术语“角色”。
在安装时PostgreSQL 被设置为使用“ident”身份验证这意味着它将 PostgreSQL 角色与匹配的 Unix/Linux 系统帐户关联起来。如果存在 PostgreSQL 角色可以通过登录到关联的 Linux 系统帐户来登录。
安装过程创建了一个名为 postgres 的用户帐户该帐户与默认的 Postgres 角色关联。
要创建其他角色我们可以使用 createuser 命令。请注意此命令应该作为用户 postgres 发出而不是在 PostgreSQL 控制台内部
createuser --interactive这基本上是一个交互式的 shell 脚本调用正确的 PostgreSQL 命令来根据你的规格创建用户。它会询问你一些问题角色的名称、是否应该是超级用户、角色是否应该能够创建新数据库以及角色是否能够创建新角色。man 页面中有更多信息
man createuser创建新数据库
PostgreSQL 默认设置了通过匹配系统帐户请求的身份验证角色您可以在 postgresql.org 上获取更多信息。它还假定匹配的数据库将存在于角色连接的数据库中。因此如果我有一个名为 test1 的用户该角色将默认尝试连接到名为 test1 的数据库。
您可以通过简单地以 postgres 用户的身份调用以下命令来创建适当的数据库
createdb test1现在已创建了新数据库 test1。
使用新用户连接到 PostgreSQL
假设您有一个名为 test1 的 Linux 帐户创建了一个 PostgreSQL test1 角色与之匹配并创建了数据库 test1。要在 Linux 中切换用户帐户为 test1
su - test1然后使用以下命令以 test1 PostgreSQL 角色连接到 test1 数据库
psql现在您应该看到新创建的用户 test1 而不是 postgres 的 PostgreSQL 提示符。
创建和删除表
现在您知道如何连接到 PostgreSQL 数据库系统我们将开始介绍如何完成一些基本任务。
首先让我们创建一个表来存储一些数据。让我们创建一个描述游乐场设备的表。
此命令的基本语法如下
CREATE TABLE table_name (column_name1 col_type (field_length) column_constraints,column_name2 col_type (field_length),column_name3 col_type (field_length)
);如您所见我们为表指定了一个名称然后定义了我们想要的列以及列类型和字段数据的最大长度。我们还可以为每个列可选地添加表约束。
您可以在《如何在云服务器上创建、删除和管理 PostgreSQL 表》文章中了解有关如何在 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它是序列类型的。此数据类型是自增整数。我们已经给了这个列主键的约束这意味着值必须是唯一的且不为空。
对于我们的两个列我们没有给出字段长度。这是因为某些列类型不需要设置长度因为长度由类型隐含确定。
然后我们为设备类型和颜色创建列每个列都不能为空。然后我们创建一个位置列并创建一个要求值为八个可能值之一的约束。最后一列是一个记录我们安装设备日期的日期列。
要查看表请在 psql 提示符上使用命令 \dt。结果类似于 List of relationsSchema | Name | Type | Owner
-------------------------------------public | playground | table | postgres如您所见我们有我们的游乐场表。
向表中添加、查询和删除数据
现在我们已经创建了一个表我们可以向其中插入一些数据。
让我们添加一个滑梯和一个秋千。我们通过调用我们要添加到的表命名列然后为每个列提供数据来完成这个操作。我们的滑梯和秋千可以这样添加
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 | type | color | location | install_date
--------------------------------------------------1 | slide | blue | south | 2014-04-282 | swing | yellow | northwest | 2010-08-16在这里您可以看到我们的 equip_id 已成功填充并且我们的其他所有数据都已正确组织。如果我们的滑梯损坏并且我们将其从游乐场移除我们也可以通过键入以下内容从我们的表中删除该行
DELETE FROM playground WHERE type slide;如果我们再次查询我们的表
SELECT * FROM playground;我们将看到我们的滑梯不再是表的一部分 equip_id | type | color | location | install_date
------------------------------------------------1 | slide | blue | south | 2014-04-28有用的命令
以下是一些可以帮助您了解当前环境的命令 ?: 获取包括这里未列出的所有 psql 命令的完整列表。 \h: 获取有关 SQL 命令的帮助。您可以在其后跟上特定命令以获取语法帮助。 \q: 退出 psql 程序并返回到 Linux 提示符。 \d: 列出当前数据库中可用的表、视图和序列。 \du: 列出可用角色。 \dp: 列出访问权限。 \dt: 列出表格。 \l: 列出数据库。 \c: 连接到不同的数据库。在其后跟上数据库名称。 \password: 更改接下来的用户名的密码。 \conninfo: 获取有关当前数据库和连接的信息。
有了这些命令您应该能够在短时间内浏览 PostgreSQL 数据库、表格和角色。
结论
您现在应该在 Debian 系统上拥有一个完全功能的 PostgreSQL 数据库。恭喜这里有大量的文档可供参考 PostgreSQL 手册 安装包 postgresql-docsudo apt-get install postgresql-doc 安装在 /usr/share/doc/postgresql-doc-9.4/tutorial/README 的 README 文件
要获取 PostgreSQL 中支持的所有 SQL 命令的完整列表请访问以下链接
SQL 命令
要比较不同数据库的功能请查看
SQLite vs MySQL vs PostgreSQL
要更好地理解角色和权限请参阅
如何在 VPS 上使用角色和管理授予权限的 PostgreSQL