###PostgREST8.0.0をWindows10で実行
####PostgreSQLから、比較的簡単にWEB APIとして、使用できるようなので試してみました。
Windows10 Pro
PostgreSQL13.4
PostgREST8.0.0
で試してみました。
####最初のインストール時に、つまずいたこと
https://postgrest.org/en/v8.0/install.html
サイトのInstallationの項目から
choco install postgrest
scoop install postgrest
とあるので、試してみましたが
ChocolateyとScooptが、どうも、こちらの知識不足のようで、うまく動作できませんでした。
(こんな感じ)
####なので、インストールをあきらめかけていたときに、サイトを見ていると、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を実行し動作確認
####1.PostgreSQLのWindows版をインストール
今回は
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
から
postgresql-13.4-1-windows-x64.exe
####2.PostgRESTのWindows用zip取得
https://postgrest.org/en/v8.0/releases/v8.0.0.html
の PostgREST v8.0.0 release page. から https://github.com/PostgREST/postgrest/releases/tag/v8.0.0
に移動して postgrest-v8.0.0-windows-x64.zip を取得後、解凍。
postgrest.exe をPostgreSQLのインストール先のbinにコピー
(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;
サイトのこの行のパスワードを変更 create role authenticator noinherit login password 'mysecretpassword';
PostgreSQL -13.4-1をインストールした時のパスワードに変更します
create role authenticator noinherit login password 'pg13dbPasswd';
grant web_anon to authenticator;
\q
で終了
####4.PostgREST用のtutorial.confを作成
サイトのこの行のパスワードとポートを変更 db-uri = "postgres://authenticator:mysecretpassword@localhost:5433/postgres"
をPostgreSQL -13.4-1をインストールした時のパスワードと標準のポートの5432に変更します
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
####その他、試してみた作業行中のエラー画面など
tutorial.conf のポートを5433 で実行したときのエラー
tutorial.conf の文字コードを間違えている場合エラー
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)