如何在 CentOS 6 上安装和使用 PostgreSQL如何在 CentOS 6 上安装和使用 PostgreSQL如何在 CentOS 6 上安装和使用 PostgreSQL如何在 CentOS 6 上安装和使用 PostgreSQL
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 CentOS 6 上安装和使用 PostgreSQL

状态:已弃用

本文涵盖不再受支持的 CentOS 版本。如果您当前正在运行运行 CentOS 6 的服务器,我们强烈建议您升级或迁移到受支持的 CentOS 版本。

原因:

请参阅:

可能会对以下 DigitalOcean 教程感兴趣,因为它概述了在 CentOS 7 服务器上安装 PostgreSQL:

  • 如何在 CentOS 7 上安装和使用 PostgreSQL

介绍

PostgreSQL,通常被称为“postgres”,是一种流行的数据库管理系统,它使用 SQL 查询语言来操作数据。

在本指南中,我们将介绍如何在 CentOS VPS 上安装和使用 postgres。

如何安装 PostgreSQL

尽管 CentOS 在其默认存储库中包含 postgres 包,但我们将使用 postgres 项目本身提供的包。

这将确保我们可以访问最新版本的软件,而无需从源代码安装。

排除 CentOS Postgres 软件包

在我们安装 postgres 之前,我们必须排除 postgres 的 CentOS 版本,以便从该项目的网站获取最新版本。

在文本编辑器中打开 CentOS 存储库配置文件:

nano /etc/yum.repos.d/CentOS-Base.repo

在 [base] 部分的底部,添加一行排除 postgres 包:

<前>

将同一行添加到 [updates] 部分的底部,以防止 yum 从默认存储库更新 postgres:

<前>

添加 Postgres 存储库

现在,我们已经告诉 yum 不要为 postgres 包交互使用默认存储库。

我们现在需要为它提供替代方案。我们将使用 postgres 项目网站上提供的包。

前往该站点查找适用于您的 CentOS 版本的最新版本的 postgres。

按住 Control 单击或右键单击与最新版本的 postgres 和您的 CentOS 版本相匹配的链接。选择“复制链接地址”或任何可用的类似选项。

回到您的 Droplet 会话,切换到您的主目录。输入 curl -O 然后粘贴下载链接:

<前>

通过键入以下命令安装刚刚下载的包:

rpm -ivh pgdg*

这将允许您的系统从项目的网站中提取 postgres 包。

我们现在可以这样做以获得最新版本。这些包包含版本编号,因此您需要搜索以查看正在使用的版本:

yum list postgres*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.linux.duke.edu
 * extras: mirror.linux.duke.edu
 * updates: mirrors.kernel.org
Installed Packages
postgresql93.x86_64                  9.3.1-1PGDG.rhel6        @pgdg93
postgresql93-libs.x86_64             9.3.1-1PGDG.rhel6        @pgdg93
postgresql93-server.x86_64           9.3.1-1PGDG.rhel6        @pgdg93
Available Packages
postgresql93-contrib.x86_64          9.3.1-1PGDG.rhel6        pgdg93 
postgresql93-debuginfo.x86_64        9.3.1-1PGDG.rhel6        pgdg93

我们可以看到,在这种情况下,所有包都有 9.3 版本的 \93。我们要下载 \-server 包:

yum install postgresql93-server

在本指南的其余部分,将 \93 更改为适用于您的系统的任何当前版本的 postgres。

初始化数据库环境

您可以通过键入以下内容来初始化数据库环境:

service postgresql-9.3 initdb

然后我们将其配置为在启动时启动,我们将启动软件:

chkconfig postgresql-9.3 on
service postgresql-9.3 start

我们现在准备开始使用 postgres。

如何登录到 Postgres 数据库

默认情况下,postgres 创建一个用户和一个名为 postgres 的数据库。

默认的安全方案假设 postgres 用户只能被那些需要访问的人访问。这可以通过设置 sudo 规则来控制。

我们通过名为 psql 的接口与 postgres 数据库软件进行交互。它提供了一个提示,我们可以在其中操作和查询数据。

现在,像这样登录到 postgres 用户:

su - postgres

您的提示将会改变。您现在可以通过键入以下内容连接到与您的用户名匹配的数据库:

psql

您的提示符将再次发生变化,这次表明您正在与 postgres 数据库进行交互。

如果你需要退出这个界面,你可以随时输入:

\q

之后,要返回 root 用户 shell,您可以键入:

exit

一些有用的 psql 命令

以下是一些可以帮助您了解当前环境的命令:

  • ?:获取 psql 命令的完整列表,包括此处未列出的命令。
  • \h:获取有关 SQL 命令的帮助。您可以使用特定的命令来获取语法方面的帮助。
  • \q:退出 psql 程序并退出到 Linux 提示符。
  • \d:列出当前数据库中可用的表、视图和序列。
  • \du: 列出可用的角色
  • \dp: 列出访问权限
  • \dt:列出表格
  • \l: 列出数据库
  • 创建一个 Postgres 表

    我们可以使用以下语法在 postgres 中创建表:

    <前>

    我们将创建一个名为“冰棒”的表来存储我们的冰棒品种和有关它们的一些信息。

    CREATE TABLE popsicles (
        pop_id serial PRIMARY KEY,
        flavor varchar (50) NOT NULL,
        amount int NOT NULL,
        size varchar (10) check (size in ('small', 'normal', 'large'))
    );
    

    现在我们可以使用 \dt 命令查看表格:

    \dt
    
               List of relations
     Schema |   Name    | Type  |  Owner   
    --------+-----------+-------+----------
     public | popsicles | table | postgres
    (1 row)
    

    要查看我们刚刚定义的列和数据结构,我们可以键入以下命令:

    \d popsicles
    
                                      Table "public.popsicles"
     Column |         Type          |                         Modifiers  
                            
    --------+-----------------------+------------------------------------
    ------------------------
     pop_id | integer               | not null default nextval('popsicles
    _pop_id_seq'::regclass)
     flavor | character varying(50) | not null
     amount | integer               | not null
     size   | character varying(10) | 
     . . .
    

    将数据插入 Postgres 表

    现在我们的数据库中有一个表,但其中还没有数据。我们可以使用 insert 命令填充它。

    我们键入 INSERT INTO 后跟表名。然后,我们在一组括号内键入以逗号分隔的列名列表。然后我们键入 VALUES,后跟第二组括号,其中包含与列名称对应的以逗号分隔的值列表。

    让我们现在试试吧。我们将在我们的桌子上插入一些葡萄冰棒:

    INSERT INTO popsicles (flavor, amount, size) VALUES ('grape', 10, 'normal');
    
    INSERT 0 1
    

    INSERT 0 1 表示我们的命令被成功接受。关于此命令需要注意的一些事情是我们的值列表中的单词在单引号() 内,并且命令以分号 (;) 结尾。记住这两点都很重要。

    另一件需要注意的事情是我们没有设置 pop_id 列。那是因为我们将其定义为主键。此列的每个条目必须具有唯一值,因此 postgres 会自动将下一个可用值分配给我们创建的每个记录。

    让我们填写更多数据,以便我们有一个更有用的表格:

    INSERT INTO popsicles (flavor, amount, size) VALUES ('orange', 8, 'small');
    INSERT INTO popsicles (flavor, amount, size) VALUES ('fudge', 20, 'large');
    INSERT INTO popsicles (flavor, amount, size) VALUES ('eclair', 14, 'normal');
    INSERT INTO popsicles (flavor, amount, size) VALUES ('rainbow', 4, 'small');
    

    如果您还记得,当我们创建表时,我们为 \size 列定义了可接受的值。Postgres 检查该值是 \small、\normal 还是 \large。如果我们尝试提供不同的值会发生什么?:

    INSERT INTO popsicles (flavor, amount, size) VALUES ('lime', 6, 'huge');
    
    ERROR:  new row for relation "popsicles" violates check constraint "popsicles_size_check"
    DETAIL:  Failing row contains (6, lime, 6, huge).
    

    如您所见,postgres 已验证我们输入了正确的数据。它拒绝了我们最新的冰棒,因为它没有我们为尺寸定义的值之一。

    从 Postgres 表中选择数据

    我们可以使用 select 命令查询新表中的数据。 select 命令从表中返回符合指定条件的数据。

    要从我们的表中返回所有信息,我们可以使用星号 (*),这是一个特殊符号,表示“匹配所有内容”:

    SELECT * FROM popsicles;
    
     pop_id | flavor  | amount |  size  
    --------+---------+--------+--------
          1 | grape   |     10 | normal
          2 | orange  |      8 | small
          3 | fudge   |     20 | large
          4 | eclair  |     14 | normal
          5 | rainbow |      4 | small
    (5 rows)
    

    我们可以通过用我们想要的列替换星号来按列选择:

    SELECT flavor, amount FROM popsicles;
    
     flavor  | amount 
    ---------+--------
     grape   |     10
     orange  |      8
     fudge   |     20
     eclair  |     14
     rainbow |      4
    (5 rows)
    

    如果我们想过滤只显示某些结果,我们可以在末尾添加一个 where 过滤器:

    SELECT * FROM popsicles WHERE amount <= 10;
    
     pop_id | flavor  | amount |  size  
    --------+---------+--------+--------
          1 | grape   |     10 | normal
          2 | orange  |      8 | small
          5 | rainbow |      4 | small
    (3 rows)
    

    结论

    您现在应该已经在您的系统上安装了 postgres,并且可以很好地掌握它的基本用法。

    在与 postgres 打交道时,还有许多其他的东西需要学习。您可以浏览我们的其他文章以了解如何管理

    作者:贾斯汀·埃林伍德

©2015-2025 艾丽卡 support@alaica.com