1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PostgREST8.0.0をWindows10で試してみました

Posted at

###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が、どうも、こちらの知識不足のようで、うまく動作できませんでした。
(こんな感じ)
scoop_err04.png


####なので、インストールをあきらめかけていたときに、サイトを見ていると、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

実行されている画面
022.png
ブラウザで

http://127.0.0.1:3000/todos

データの挿入での2行が JSON で表示取れています。
023.png

####その他、試してみた作業行中のエラー画面など
tutorial.conf のポートを5433 で実行したときのエラー
err_000_5433.png

tutorial.conf の文字コードを間違えている場合エラー
err_002.png


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)

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?