跳到主要内容

强大而灵活的开源关系型数据库管理系统通过Linode的PostgreSQL一键式应用获得社区支持的数据库。

作为世界上最先进的开源数据库,PostreSQL(也被称为Postgres)是需要高级功能和增加安全性的开发者的首选数据库。与其他数据库相比,这个基于Linux的数据库支持许多数据类型和复杂的锁定,以实现先进的开箱即用的安全性。对于拥有不断发展的数据结构和数量的开发者和组织来说,Postgres是最可扩展的解决方案。

部署后开始工作

访问PostgreSQL

在PostgreSQL一键式应用服务器完成安装后,你将能够通过ssh用你的Linode的IPv4地址从控制台访问PostgreSQL。

  1. SSH进入你的Linode创建一个有限的用户账户
  2. 退出并以你的有限用户账户重新登录。
  3. 更新你的服务器。
    sudo apt-get update && apt-get upgrade

使用PostgreSQL

在默认情况下,PostgreSQL会创建一个Linux用户,名为 postgres 来访问数据库软件。

注意事项。 ǞǞǞ postgres 用户不应该被用于其他目的(如连接到其他网络)。这样做会给你的数据库的安全带来严重风险。

  1. 改变 postgres 用户的Linux密码。

    sudo passwd postgres
  2. 发出以下命令,设置一个密码给 postgres 数据库用户。请务必替换 newpassword 用一个强大的密码,并将其保存在一个安全的地方。
su - postgres
psql -d template1 -c "ALTER USER postgres WITH PASSWORD 'newpassword';"

这个用户与 postgres Linux用户。Linux用户用于访问数据库,而PostgreSQL用户用于执行数据库的管理任务。

这一步中设置的密码将被用来通过网络连接到数据库。对等认证将被默认用于本地连接。请参阅安全本地PostgreSQL访问一节,了解有关改变此设置的信息。

创建一个数据库

  1. 创建一个名为 
    mytestdb:createdb mytestdb
  2. 连接到测试数据库。
    psql mytestdb
  3. 你将看到以下输出。
    psql (12.2 (Debian 12.2-2.pgdg90+1)) Type "help" for help. mytestdb=#
    这是PostgreSQL的客户端外壳,你可以在其中发布SQL命令。要查看可用命令的列表,请使用 \h 命令。你可以通过将某一特定的命令添加到以下内容来找到更多的信息 \h.

创建表格

本节包含一些例子,这些例子用雇员的名字和姓氏创建了一个测试数据库,为每个人分配了一个唯一的键。当创建你自己的表时,你可以根据需要指定尽可能多的参数(列),并给它们适当地命名。从你打开的PostgreSQL客户端外壳中运行本节的命令,以创建 mytestdb 数据库。

  1. 在你的测试数据库中创建一个名为 "雇员 "的表。

    CREATE TABLE employees (employee_id int PRIMARY KEY, first_name varchar, last_name varchar);
  2. 在表中插入一条记录。
    INSERT INTO employees VALUES (1, 'John', 'Doe');
  3. 查看 "雇员 "表的内容。
    SELECT * FROM employees;

    这将产生以下输出。
    employee_id | first_name | last_name
    -------------+------------+----------- 1 | John | Doe
    (1 row)
  4. 退出PostgreSQL外壳,输入 \q 指挥。

创建PostgreSQL角色

PostgreSQL通过角色授予数据库访问权,这些角色用于指定权限。角色可以理解为具有类似于Linux "用户 "的功能。此外,角色也可以作为其他角色的集合来创建,类似于Linux的 "组"。PostgreSQL的角色是全局性的,所以如果你想授予它对同一服务器上的多个数据库的访问权,你不需要创建同一个角色两次。

本节中的示例命令应作为 postgres Linux用户。

  1. 添加一个新的用户角色,然后在提示下添加一个密码。
    createuser examplerole --pwprompt

    如果你需要删除一个角色,你可以使用 dropuser 命令来代替 createuser.
  2. 连接到数据库。
    psql mytestdb
    你将被连接为 postgres 默认情况下是数据库用户。
  3. 在PostgreSQL外壳中,输入以下内容以授予表的所有权限 employees 给用户 examplerole:
    GRANT ALL ON employees TO examplerole;
  4. 退出PostgreSQL外壳,输入 \q.

PostgreSQL 一键式应用由 Linode 构建。对于有关应用程序部署的支持,请通过侧边栏中列出的信息联系 Linode 支持。对于有关工具或软件本身的支持,请访问PostgreSQL支持