Open4
ラズパイでカルダノのデータベース作成まで

環境
- Raspberry Pi 4b
- OS : Ubuntu 22.04 Server
PostgreSQL 環境構築
1, システムアップデート
sudo apt update -y && sudo apt upgrade -y
2, PostgleSQL インストール
sudo apt install -y postgresql
3,バージョン確認
psql --version
バージョン情報が返ってくればインストール完了🙌

PostgreSQLを始める前に各種設定とsystemctlを使用したサービス確認コマンド等
PostgreSQL起動確認
sudo systemctl --no-pager status postgresql
-
active (exited)
が戻り値に含まれていれば起動中。
サーバー起動時にPostgleSQLが自動で起動するようにする
sudo systemctl enable postgresql

CardanoのインデクサーであるCarpを使用したいのでCarpのドキュメントのコマンドも引用します。
PostgreSQL ユーザー作成
sudo -u postgres createuser carp
作成したcarp
にパスワードを設定する
sudo -u postgres psql -c "\password carp"
データベース作成
sudo -u postgres createdb carp_mainnet
Carp ドキュメントには以下のコマンドが手順に書かれている。
jit_above_cost
は、PostgreSQLのクエリプランナーによるジャストインタイム(JIT)コンパイルを制御するための設定で、コストを指定するもの。jit_above_cost を -1 に設定することで、JITコンパイルを無効にすることができる。(ChatGPT)
sudo -u postgres psql -c 'ALTER DATABASE carp_mainnet SET jit_above_cost = -1;'

SQLプロンプトに切り替えてデータベースの一覧を表示したりSELECT
文でクエリを実行したりする方法。
pstgres
というロール名でSQLプロンプトに入る
sudo -u postgres psql
### 戻り値が以下のように変わったら成功
postgres=#
- 現在のデータベース一覧を表示するには
postgres=#
の状態で\l
を入力してEnter。 - ロールの一覧を確認する場合は
postgres=#
の状態で\du
を入力してEnter。
carpのドキュメント通りに実行している場合はcardano_mainnet
という名前のデータベースが表示される。
SQLプロンプトでcardano_mainnet
のデータにアクセスするには、まずデータベースに入る必要がある。
SQLプロンプト上で\c carp_mainnet
を入力しEnrerを押すと、データベース内に入りcardano_mainnet=#
という表示に切り変わる。
- データベースにどのようなテーブルがあるかを確認するには
\dt
と入力しEnter。
### Carpで作成したcardano_mainnetデータベースのテーブル一覧の例。
carp_mainnet=# \dt
List of relations
Schema | Name | Type | Owner
--------+---------------------------+-------+-------
public | Address | table | carp
public | AddressCredentialRelation | table | carp
public | AssetMint | table | carp
public | Block | table | carp
public | Cip25Entry | table | carp
public | Dex | table | carp
public | NativeAsset | table | carp
public | PlutusData | table | carp
public | PlutusDataHash | table | carp
public | StakeCredential | table | carp
public | Transaction | table | carp
public | TransactionInput | table | carp
public | TransactionMetadata | table | carp
public | TransactionOutput | table | carp
public | TransactionReferenceInput | table | carp
public | TxCredentialRelation | table | carp
public | seaql_migrations | table | carp
(17 rows)
carp_mainnet=#
- SQLプロンプトを終了するには
\q
を入力しEnter。