如何在 Ubuntu 上安装、配置和使用最新的 PostgreSQL 版本如何在 Ubuntu 上安装、配置和使用最新的 PostgreSQL 版本如何在 Ubuntu 上安装、配置和使用最新的 PostgreSQL 版本如何在 Ubuntu 上安装、配置和使用最新的 PostgreSQL 版本
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

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

如何在 Ubuntu 上安装、配置和使用最新的 PostgreSQL 版本

在此页

  1. PostgreSQL 安装:
    1. 选择您的 Ubuntu 版本
    2. 检查 PostgreSQL 服务的状态

    Postgres 是一个开源关系数据库。它具有许多高级特性,如企业级性能、触发器、原子性、一致性、隔离性、持久性以及许多其他特性,这些特性将使 Postgres 成为许多复杂应用程序的理想选择。

    PostgreSQL 安装:

    在本教程中,我们从 PostgreSQL 官方网站 https://www.postgresql.org/download/linux/ubuntu/ 下载最新版本的 Postgres

    PostgreSQL 也默认在 Ubuntu 存储库中可用。通过使用其官方网站上的 PostgreSQL apt 存储库,我们可以安装我们选择的特定版本。

    选择你的 Ubuntu 版本

    我的 Ubuntu 版本是 Bionic (18.04)

    创建文件 PostgreSQL 存储库。

    nano /etc/apt/sources.list.d/pgdg.list 

    并在 pgdg.list 中为存储库添加一行

    deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main

    如果您使用与 18.04 (Bionic) 不同的 Ubuntu 版本,则将 bionic 一词替换为所用 Ubuntu 版本的名称。导入存储库签名密钥,并更新包列表

    wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
    sudo apt-get update

    现在使用以下命令在我们的 Ubuntu 系统中安装最新的 PostgreSQL 服务器。

    sudo apt-get install postgresql postgresql-contrib

    安装后 PostgreSQL 服务器将自动启动。

    检查 PostgreSQL 服务的状态

    systemctl status postgresql

    现在验证 PostgreSQL 连接和 PostgreSQL 服务器版本。

    sudo -u postgres psql -c "SELECT version();"

    这将使用 psql 连接到 PostgreSQL 并提供服务器版本

     version 
    -----------------------------------------------------------------------------------------------------------------------------------
    PostgreSQL 11.4 (Ubuntu 11.4-1.pgdg18.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0, 64-bit

    使用 PostgreSQL 角色和身份验证方法

    PostgreSQL 使用角色数据库访问权限的概念。角色可以应用于一个数据库用户或一组数据库用户。

    PostgreSQL 支持多种身份验证方法。

    以下是PostgreSQL最常用的认证方式。

    1.信任

    Trust authentication Methods 可以在 pg_hba.conf 中定义,使用这种方法,角色可以在没有密码的情况下连接到数据库。

    2.密码

    角色可以通过提供密码来连接数据库。

    3.标识

    Ident Authentication Methods 仅适用于 TCP/IP 连接。

    4.同行

    对等身份验证方法仅用于本地连接。

    pg_hba.conf 文件定义客户端身份验证方法。我们可以通过编辑以下文件来更改身份验证方法。

    nano /etc/postgresql/11/main/pg_hba.conf

    在此文件中,PostgreSQL 默认使用对等身份验证方法。我们可以通过更改对等方法来更改身份验证方法。

    在安装 PostgreSQL 时,会默认创建 postgres 用户,postgres 是 PostgreSQL 数据库的超级用户,类似 MYSQL 数据库服务器的 root 用户。这个 postgres 用户也在 ubuntu 中创建。

    连接到 PostgreSQL

    以下命令连接 PostgreSQL。

    sudo -i -u postgres

    现在我们可以通过键入以下命令连接到像 MySQL 这样的 Postgres 提示符。

    psql

    我们将收到以下提示,我们已准备好对其运行 PostgreSQL 查询。

    请注意,我们可以通过简单地键入以下命令直接连接到数据库服务器。

    sudo -u postgres psql

    在 PostgreSQL 中创建角色和数据库

    我们已经在数据库中拥有 postgres 角色,现在我们使用以下命令创建一个新角色。

    :/home# sudo -u postgres createuser --interactive

    Enter name of role to add: sohan
    Shall the new role be a superuser? (y/n) y

    我们可以使用以下命令列出现有的用户角色。

    postgres=# \du

    或者在 postgres 提示符下运行以下命令。

    SELECT rolname FROM pg_roles;

    我们可以使用 DROP ROLE 命令删除任何现有的用户角色。

    postgres=# DROP ROLE sohan;
    DROP ROLE

    创建 PostgreSQL 数据库

    这里我们可以使用postgres账号登录,运行如下命令。

    :~$ createdb dummu

    或者我们可以简单地使用普通 ubuntu 用户运行以下命令。

    sudo -u postgres createdb dummu 

    使用新角色登录到 postgres 提示符

    直接从您的系统终端运行以创建新用户。

    sudo adduser sohan

    在系统中创建新用户后,只需运行

    sudo -u sohan psql

    或键入以下命令

    sudo -i -u sohan
    psql

    我们可以通过简单地提供数据库名称来连接到不同的数据库

    psql -d dummu

    连接到上述数据库后,我们可以通过一个简单的命令获取该数据库信息

    dummu=> \conninfo
    output
    You are connected to database "dummu" as user "sohan" via socket in "/var/run/postgresql" at port "5432"UPDATE dummu SET password = 'postgres' where username = 'sohan';

    在 PostgreSQL 中创建表

    创建角色、数据库并创建与数据库服务器的连接后,现在我们将创建一个表。

    CREATE TABLE dummu(user_id serial PRIMARY KEY,username VARCHAR (50) UNIQUE NOT NULL, password VARCHAR (50) NOT NULL, email VARCHAR (355) UNIQUE NOT NULL, created_on TIMESTAMP NOT NULL, last_login TIMESTAMP);

    上面的命令将像 MySQL 一样创建新的虚拟表,我们可以通过键入来检查这个新表

    \d

    在这里,我们还将看到 dummu_user_id_seq 表,它将跟踪序列中的下一个数字。

    如果我们只想显示没有序列的表名,请运行以下命令。

    \dt

    这只会显示 dummu 表

    sohan=> \dt
    Output

              List of relations
     Schema |    Na    | Type  | Owner
    --------+------------+-------+-------
     public | dummu      | table | soha

    向表中添加数据

    现在我们将通过键入将数据添加到 dummu 表中,

    Insert into dummu(user_id,username,password,email,created_on,last_login) values (1,'sohan','123456','gmail.com','2019-06-24 11:11:11','2019-06-24 11:11:11');

    现在我们将从 dummu 表中获取数据,

    SELECT * FROM dummu;

    从表中删除列

    现在让我们从此表中删除数据

    DELETE FROM dummu WHERE email = '';

    改变 PostgreSQL 表

    类似的方式,我们可以使用 alter query as 修改表

    ALTER TABLE dummu DROP email;

    这将从 dummu 表中删除电子邮件字段。

    验证它

    SELECT * FROM dummu;
    output:-

    user_id | username | password |     created_on      |     last_login      
    ---------+----------+----------+---------------------+---------------------
           1 | sohan    | 123456   | 2019-06-24 11:11:11 | 2019-06-24 11:11:11

    更新表中的数据

    现在我们将看到如何将数据更新到表中

    运行以下命令将密码更新到 dummu 表中

    UPDATE dummu SET password = 'postgres' where username = 'sohan';

    只需键入即可验证更改

    SELECT * FROM dummu;
    output

    user_id | username | password |     created_on      |     last_login      
    ---------+----------+----------+---------------------+---------------------
           1 | sohan    | postgres | 2019-06-24 11:11:11 | 2019-06-24 11:11:11

    简而言之,在本教程中,我们将学习如何安装 PostgreSQL、创建角色和数据库以及基本数据库命令。

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