我在Windows10上尝试了PostgREST8.0.0
在Windows 10上运行PostgREST 8.0.0
我试了一下,发现PostgreSQL相对简单地可以用作WEB API。
我试过了Windows10 Pro、PostgreSQL13.4和PostgREST8.0.0。
在最初安装时遇到的困难

所以,在我差点放弃安装的时候,我在浏览网站时看到了与GitHub相链接的页面,好像可以下载zip文件,于是我尝试了另一种方法,似乎成功了,所以我将其发表了出来(虽然我不确定这是否正确)。我将把我所进行的步骤发布出来。
1. 安装PostgreSQL。
2. 解压PostgREST的Windows版zip压缩文件,并将postgrest.exe复制到已安装的PostgreSQL的bin目录下(这是相当于安装吗?)。
从PostgREST的网站教程“Tutorial 0 – Get it Running”中(只需要一种选择)
3. 为PostgREST API 进行配置
4. 创建用于PostgREST的 tutorial.conf 文件
5. 运行PostgREST并进行操作确认
安装 PostgreSQL 的 Windows 版本
这次是从https://www.enterprisedb.com/downloads/postgres-postgresql-downloads下载postgresql-13.4-1-windows-x64.exe
获取适用于Windows的PostgREST压缩文件。
进入 PostgREST v8.0.0 发布页面(https://postgrest.org/en/v8.0/releases/v8.0.0.html)后,点击链接(https://github.com/PostgREST/postgrest/releases/tag/v8.0.0),下载 postgrest-v8.0.0-windows-x64.zip,并解压。
将postgrest.exe拷贝到PostgreSQL安装目录下的bin文件夹中(由于postgrest与postgres只是在t字母上有所差异,容易误认为是另一个exe文件。)
3. 用于PostgREST API的设置
从这里开始,参考https://postgrest.org/en/v8.0/tutorials/tut0.html,在PSQL中执行。
create schema api;
创建表。
create table api.todos (
id serial primary key,
done boolean not null default false,
task text not null,
due timestamptz
);
数据插入
insert into api.todos (task) values
('finish tutorial 0'), ('pat self on back');
create role web_anon nologin;
grant usage on schema api to web_anon;
grant select on api.todos to web_anon;
我要更改此行的密码,创建角色认证器并登录密码设为’mysecretpassword’;在安装PostgreSQL-13.4-1时使用该密码。
create role authenticator noinherit login password 'pg13dbPasswd';
grant web_anon to authenticator;
\q
结束
创建一个适用于PostgREST的tutorial.conf文件。
在安装 PostgreSQL -13.4-1时,将此行中的密码和端口更改为默认的5432,并更改为以下内容:db-uri = “postgres://authenticator:mysecretpassword@localhost:5432/postgres”。
db-uri = "postgres://authenticator:pg13dbPasswd@localhost:5432/postgres"
db-schema = "api"
db-anon-role = "web_anon"
创建一个 tutorial.conf 文件,并将 postgrest.exe 复制到 PostgreSQL 安装路径的 bin 目录中(如果是默认安装路径,则为 C:\Program Files\PostgreSQL\13\bin)。
5. 运行PostgREST。
从命令提示符中
cd C:\Program Files\PostgreSQL\13\bin
postgrest tutorial.conf

http://127.0.0.1:3000/todos

另外,尝试时出现的错误页面等等。


由于对RESTful API服务器端的构建不熟悉,我正在寻找一个简单易懂的构建方式。然而,我很难找到关于这方面的日文文章,而且我也无法准确理解《Tutorial 0 – Get it Running》。因此,我希望在实施之前向大家请教一些问题。
如果您是前端開發人員或使用不同的RESTful API進行構建的人,我希望這些業務處理可為您提供參考和提示。
如果在描述中有任何错误,请指出。
带有图片的,关于更详细步骤的文章是
PostgREST 8.0.0 + PostgreSQL -13.4-1 + 在Windows10上进行测试 (1)
PostgREST 8.0.0 + PostgreSQL -13.4-1 + 在Windows10上进行测试 (2)