强大而灵活的开源关系型数据库管理系统。通过Linode的PostgreSQL一键式应用获得社区支持的数据库。
作为世界上最先进的开源数据库,PostreSQL(也被称为Postgres)是需要高级功能和增加安全性的开发者的首选数据库。与其他数据库相比,这个基于Linux的数据库支持许多数据类型和复杂的锁定,以实现先进的开箱即用的安全性。对于拥有不断发展的数据结构和数量的开发者和组织来说,Postgres是最可扩展的解决方案。
部署后开始工作
访问PostgreSQL
在PostgreSQL一键式应用服务器完成安装后,你将能够通过ssh用你的Linode的IPv4地址从控制台访问PostgreSQL。
- SSH进入你的Linode并创建一个有限的用户账户。
- 退出并以你的有限用户账户重新登录。
- 更新你的服务器。
sudo apt-get update && apt-get upgrade
使用PostgreSQL
在默认情况下,PostgreSQL会创建一个Linux用户,名为 postgres
来访问数据库软件。
注意事项。 ǞǞǞ postgres
用户不应该被用于其他目的(如连接到其他网络)。这样做会给你的数据库的安全带来严重风险。
- 改变
postgres
用户的Linux密码。sudo passwd postgres
- 发出以下命令,设置一个密码给
postgres
数据库用户。请务必替换newpassword
用一个强大的密码,并将其保存在一个安全的地方。
su - postgres
psql -d template1 -c "ALTER USER postgres WITH PASSWORD 'newpassword';"
这个用户与 postgres
Linux用户。Linux用户用于访问数据库,而PostgreSQL用户用于执行数据库的管理任务。
这一步中设置的密码将被用来通过网络连接到数据库。对等认证将被默认用于本地连接。请参阅安全本地PostgreSQL访问一节,了解有关改变此设置的信息。
创建一个数据库
- 创建一个名为
mytestdb
:createdb mytestdb
- 连接到测试数据库。
psql mytestdb
- 你将看到以下输出。
psql (12.2 (Debian 12.2-2.pgdg90+1)) Type "help" for help. mytestdb=#
这是PostgreSQL的客户端外壳,你可以在其中发布SQL命令。要查看可用命令的列表,请使用\h
命令。你可以通过将某一特定的命令添加到以下内容来找到更多的信息\h
.
创建表格
本节包含一些例子,这些例子用雇员的名字和姓氏创建了一个测试数据库,为每个人分配了一个唯一的键。当创建你自己的表时,你可以根据需要指定尽可能多的参数(列),并给它们适当地命名。从你打开的PostgreSQL客户端外壳中运行本节的命令,以创建 mytestdb
数据库。
- 在你的测试数据库中创建一个名为 "雇员 "的表。
CREATE TABLE employees (employee_id int PRIMARY KEY, first_name varchar, last_name varchar);
- 在表中插入一条记录。
INSERT INTO employees VALUES (1, 'John', 'Doe');
- 查看 "雇员 "表的内容。
SELECT * FROM employees;
这将产生以下输出。employee_id | first_name | last_name
-------------+------------+----------- 1 | John | Doe
(1 row)
- 退出PostgreSQL外壳,输入
\q
指挥。
创建PostgreSQL角色
PostgreSQL通过角色授予数据库访问权,这些角色用于指定权限。角色可以理解为具有类似于Linux "用户 "的功能。此外,角色也可以作为其他角色的集合来创建,类似于Linux的 "组"。PostgreSQL的角色是全局性的,所以如果你想授予它对同一服务器上的多个数据库的访问权,你不需要创建同一个角色两次。
本节中的示例命令应作为 postgres
Linux用户。
- 添加一个新的用户角色,然后在提示下添加一个密码。
createuser examplerole --pwprompt
如果你需要删除一个角色,你可以使用dropuser
命令来代替createuser
. - 连接到数据库。
psql mytestdb
你将被连接为postgres
默认情况下是数据库用户。 - 在PostgreSQL外壳中,输入以下内容以授予表的所有权限
employees
给用户examplerole
:GRANT ALL ON employees TO examplerole;
- 退出PostgreSQL外壳,输入
\q
.
PostgreSQL 一键式应用由 Linode 构建。对于有关应用程序部署的支持,请通过侧边栏中列出的信息联系 Linode 支持。对于有关工具或软件本身的支持,请访问PostgreSQL支持。