Apache CouchDB 利用ノート

Since:

2005

Official site:

<https://couchdb.apache.org/>

Version:

3.3.2

CLI:

専用ツールなし

Sphinx で記述された公式文書 Apache CouchDB® 3.3 Documentation の品質が良く、インストール手順で詰まることはないはずだ。

$ curl https://couchdb.apache.org/repo/keys.asc |
  gpg --dearmor |
  sudo tee /usr/share/keyrings/couchdb-archive-keyring.gpg >/dev/null 2>&1
$ . /etc/os-release  # $VERSION_CODENAME が欲しい
$ echo "deb [signed-by=/usr/share/keyrings/couchdb-archive-keyring.gpg] https://apache.jfrog.io/artifactory/couchdb-deb/ ${VERSION_CODENAME} main" |
  sudo tee /etc/apt/sources.list.d/couchdb.list >/dev/null
$ sudo apt update
$ sudo apt install -y couchdb

インストール中、対話形式での手順は次の記事を参照: How to Install Apache CouchDB in Ubuntu 22.04

サービスを手動で稼働する。別のコンソールウィンドウで実施するか、バックグラウンド実行すると何かの時に小回りが利く:

$ service couchdb status
$ sudo -i -u couchdb /opt/couchdb/bin/couchdb

読者ノート

まともなサービス停止方法が判明していない。現状 kill コマンドで強引に殺している。

$ su couchdb service couchdb stop
Password:
 * Stopping Apache CouchDB couchdb
start-stop-daemon: pid value must be a number greater than 0
Try 'start-stop-daemon --help' for more information.
$ sudo start-stop-daemon --stop --user couchdb

サービス稼働中に管理者権限を有するアカウントを作成する:

$ COUCHDB_HOST=http://admin:${ADMIN_PASSWORD}@localhost:5984
$ curl -X PUT ${COUCHDB_HOST}/_node/couchdb@127.0.0.1/_config/admins/${NEW_USER} -d '"${NEW_PASSWORD}"'

ここまで準備が整ったらチュートリアルを実施する。アカウントは今作成したものに変えて、変数の値もそれに合わせる。

$ curl http://localhost:5984/
$ COUCHDB_HOST=http://${NEW_USER}:${NEW_PASSWORD}@localhost:5984
$ curl -X GET ${COUCHDB_HOST}/_all_dbs
$ curl -X PUT ${COUCHDB_HOST}/my_database
$ curl -s -X GET ${COUCHDB_HOST}/test | jq .

この辺で Fauxton と呼ばれているブラウザーインターフェイス <http://127.0.0.1:5984/_utils/> にアクセス可能となる。コンソールからブラウザーへ移動しろ。

Getting Started - CouchDB: The Definitive Guide

ブラウザー画面が少々異なるが、学習可能。

CouchDB Tutorial

バージョンが古いが学習可能。curl とブラウザーの両方について方法が述べられている。rev の意味、更新、ローカルファイル添付(アップロード)を習得可能。

CouchDB tutorial - W3schools

Fauxton 対応。Python や JavaScript (Node.js) などから CouchDB にアクセスする方法に関する記述もある。