2023年08月21日

PostgREST 11.1.2 Ubuntu20.04LTS PostgreSQL15 画像付き

Ubuntu20.04LTS
Chromeをインストールできます
Screenshot from 2023-08-21 17-47-39.png


PostgreSQL15のインストール

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

sudo apt-get update

sudo apt-get -y install postgresql
Screenshot from 2023-08-21 18-20-06.png


PostgreSQL15のパスワードの変更
sudo su - postgres 
psql
alter role postgres with password 'Passwd123';
PostgreSQL15の接続設定
sudo gedit /etc/postgresql/15/main/postgresql.conf
sudo gedit /etc/postgresql/15/main/pg_hba.conf
Screenshot from 2023-08-21 18-20-06.png

Screenshot from 2023-08-21 18-06-22.png

Screenshot from 2023-08-21 18-07-16.png


PostgRESTのダウンロードと解凍
Screenshot from 2023-08-21 17-54-32.png

Screenshot from 2023-08-21 17-55-03.png

Screenshot from 2023-08-21 17-55-10.png

Screenshot from 2023-08-21 17-55-26.png



Tutorial 0 - Get it Running
を参考に、少し変更する
sudo su - postgres 
psql

create database test_1;

\c test_1;

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;

Screenshot from 2023-08-21 18-34-41.png


PostgRESTの起動用.confを作成
t_1.conf で保存する
db-uri = "postgres://postgres:Passwd123@localhost:5432/test_1"
db-schemas = "api"
db-anon-role = "web_anon"
Screenshot from 2023-08-21 18-39-08.png

db-uri       = "postgres://user:pass@host:5432/dbname" の各意味のドキュメントは


解凍したフォルダで起動
cd ダウロード
cd postgrest-v11.2.0-linux-static-x64

./postgrest tutorial.conf
Screenshot from 2023-08-21 18-39-08.png


ブラウザが確認
Screenshot from 2023-08-21 18-59-08.png

curlの場合は

posted by a23 at 19:21| Comment(0) | REST API

2023年07月24日

FastAPI Ubuntu20.04 PostgreSQL

sudo apt update
sudo apt install postgresql postgresql-contrib  //ver12
----------------
sudo -u postgres psql

CREATE DATABASE test_2;
CREATE USER postgres WITH ENCRYPTED PASSWORD 'Psswd643';
GRANT ALL PRIVILEGES ON DATABASE test_2 TO postgres;
\q
----------------
sudo gedit /etc/postgresql/12/main/postgresql.conf

sudo service postgresql restart
----------
sudo apt install python3-pip
pip install fastapi[all] 
sudo apt install uvicorn
pip install asyncpg sqlalchemy
pip install sqlalchemy psycopg2-binary


cd f1
uvicorn main:app --host 0.0.0.0

posted by a23 at 14:50| Comment(0) | REST API

2022年12月27日

SurrealDB

史上最強のデータベース、SurrealDB - Qiita を参考にやってみたこと。

Ubutu22.04LTSを手元の旧機器にインストールしてテスト

01 
Ubuntuのインストール時に、ユーザー名を t20 としました
001_t20_2.png

02
Ubutuにログイン後、
ChromeをGUIで、インストール
001_t20 15-10-47.png

02
sudo apt install net-tools
ifconfig
002_ifconfig.png

03
ifconfig で、ipアドレスを確認 今回、この機器 192.168.24.63 でした
003_ifconfig.png

04
curlが必要なので
sudo apt install curl
004_curl.png
005_curl.png

05
ここから、SurrealDB の実行 (コマンドは3行のみで起動)
1行目
sudo curl -sSf https://install.surrealdb.com | sh
006_sur.png

06
2行目
PATH=/home/t20/.surrealdb:$PATH
t20は、Ubuntuのインストール時のユーザー名です
007_path15-25-34.png

07
インメモリで起動
surreal start --log debug --user root --pass root memory
008_sur_start.png
SurrealDBが起動中
009_sur_sart.png

08
Qitaの記事をもとに、REST のツールとして insomnia を使用するようで、最初、使い方がよくわらなかったのですが、
Insomniaを別の機器のWindows10のにインストールしてみました
01.png
02.png
ブラウザで日本語化で、参照
03.png
ダウンロード
04.png

09
セットアップを開始

05.png

06.png
07.png

10
Qita記事をもとに、 insomnia を設定し、実行してみます(insomnia で ローカルネットワーク内での 外部接続の確認)

 Qita記事から
  HTTPリクエスト
  URL: http://localhost:8000/sql は今回  http://192.138.24.63:8000/sqlは
  メソッド: POST
  Basic認証: ユーザ: root、パスワード: root
  ヘッダ
  Accept: application/json
  NS: test
  DB: test
  ボディ: SurrealQLの問い合わせ文
を設定していきます

08.png

http://192.138.24.63:8000/sql が正解で、 http://192.138.24.63/sql は間違い、エラーとなりますので後で修正します
09.png

BodyのプルダウンからPlanを選択(OtherでもOKそうです)
10.png

 Qita記事から
  問い合わせ例
  上記のHTTPリクエストのボディ部分に各SurrealQLの問い合わせ文を入れて送る。
  接続テスト
INFO FOR DB;
11.png

 Qita記事から
  Basic認証: ユーザ: root、パスワード: root
12.png
13.png

 Qita記事から
  ヘッダ
  Accept: application/json
  NS: test
  DB: test
14.png
15.png
16.png


11 
SEND ボタンを押します
 http://192.138.24.63/sql は間違い、エラーとなりますので後で修正します
17_err.png

http://192.138.24.63:8000/sql が正解
18.png

12
問い合わせ例の
 レコード追加
CREATE account SET
name = 'ACME Inc',
created_at = time::now()
19.png

CREATE author:john SET
name.first = 'John',
name.last = 'Adams',
name.full = string::join(' ', name.first, name.last),
age = 29,
admin = true,
signup_at = time::now();
20.png
CREATE article SET
created_at = time::now(),
author = author:john,
title = 'Lorem ipsum dolor',
text = 'Donec eleifend, nunc vitae commodo accumsan, mauris est fringilla.',
account = (SELECT id FROM account WHERE name = 'ACME Inc' LIMIT 1);
21.png

13
問い合わせ例の
 レコード取得
SELECT * FROM article;
22.png
SELECT * FROM article, account;
23.png
SELECT * FROM article WHERE author.age < 30 FETCH author, account;
24.png

あとは、Qitaの記事や本家のドキュメントをもとに、いろいろ、お試しできると思います

14
POSTMAN で 接続エラー
Cloud Agent Error: Can not send requests to reserved address. Make sure address is publicly accessible or select a different agent.
01.png
Postman Web サイトは、コンピューターのローカルホストに要求を送信できません
Postman Website cannot send a request to your computer's localhost. It first needs to connect to your PC with the Postman desktop client.
と、ここにありました

ここからデスクトップ版をダウンロードして
22.png































insomnia で ローカル機器内 接続の確認

insomnia で ローカルネットワークでの 外部接続の確認

POSTMAN 接続エラー

REST Debugger  接続エラー

TMS WebCORE



posted by a23 at 15:47| Comment(0) | REST API