Quickstart (testing)
Goal
Поднять angarabased, подключиться через psql, выполнить базовый DDL/DML и убедиться, что pgwire работает.
Prerequisites
- Linux x86_64
- Один из вариантов установки:
- Rust toolchain (см.
rust-toolchain.toml) для source build, - или portable archive
x86_64-unknown-linux-gnu(glibc >= 2.28).
Install from portable archive
mkdir -p /opt/angarabase
tar -xzf angarabase-0.6.3-x86_64-unknown-linux-gnu.tar.gz -C /opt/angarabase
/opt/angarabase/angarabase-0.6.3/bin/angarabase-server --version
If runtime glibc is below baseline (2.28), angarabase-server exits fail-closed with an explicit
compatibility message.
Native package flow
For RPM/DEB deployments, service start is intentionally blocked before secure init:
angarabase-server --init /var/lib/angarabase --superuser admin --auth-mode scram --superuser-password-file /secure/path/pass.txt --require-auth
systemctl start angarabase
If you intentionally need trust bootstrap for isolated labs, it must be explicit:
angarabase-server --init /var/lib/angarabase --auth-mode trust --insecure-trust
Build
cargo build -p angarabase-server
cargo build -p angara-cli
Run server (local)
AngaraBase использует явную инициализацию инстанса (--init) перед обычным запуском.
Минимальный путь для тестирования (без ручного создания конфига):
- Выполните одноразовую инициализацию в директории инстанса.
target/debug/angarabase-server --init /tmp/angarabase-instance --superuser angara_root --superuser-password 'change-me' --auth-mode scram
По умолчанию будет создано:
data/в/tmp/angarabase-instance/datatxlog/в/tmp/angarabase-instance/txlog- конфиг
angarabase.confв/tmp/angarabase-instance/angarabase.conf
- Запустите сервер:
target/debug/angarabase-server --config /tmp/angarabase-instance/angarabase.conf
В этом сценарии используется SCRAM bootstrap user angara_root.
Для локального trust/no-auth режима можно явно запускать с --allow-insecure-no-auth.
SecurityContext note:
- In
scram/certmodes, protected SQL execution requires session context. - Minimal setup for tenant-scoped workloads:
SET SESSION CONTEXT 'app.tenant_id' = 'public';
Альтернативный путь (если вы хотите использовать существующий конфиг):
--config <path>при--initчитается как input-конфиг, если файл существует,- и записывается как output-конфиг, если файл не существует.
Примеры:
# init using an existing config (input)
target/debug/angarabase-server --config ./angarabase.conf --init
# init and write a new config (output; file must not exist)
target/debug/angarabase-server --config /tmp/angarabase.conf --init /tmp/angarabase-instance
Для локальной разработки допускается shortcut:
target/debug/angarabase-server --config angarabase.conf --dev
--dev сохраняет auto-init поведение только для dev/test сценариев.
Connect with psql
psql "host=127.0.0.1 port=5432 user=angara_root dbname=base password=change-me sslmode=disable"
Smoke SQL
CREATE TABLE t (id INT PRIMARY KEY, v INT);
INSERT INTO t (id, v) VALUES (1, 10);
INSERT INTO t (id, v) VALUES (2, 20);
SELECT * FROM t ORDER BY id;
Restart check (DDL survives restart)
CREATE TABLE metadata (catalog) should survive restart.
- Остановите сервер (Ctrl+C).
- Запустите снова.
- Проверьте, что таблица видна:
SELECT table_name FROM sys.tables WHERE table_name = 't';
Sys introspection (sys.*)
Примеры полезных запросов:
SELECT * FROM sys.identity;
SELECT * FROM sys.health;
SELECT * FROM sys.settings WHERE name IN ('server.addr','storage.data_directory');
SELECT * FROM sys.tables;
SELECT * FROM sys.columns WHERE table_name = 't';
Optional: SQL shutdown (fail-closed)
По умолчанию shutdown через SQL выключен. Чтобы включить (локально/для тестов):
export ANGARABASE_ALLOW_SQL_SHUTDOWN=1
После этого можно запросить shutdown из psql:
SELECT sys.request_shutdown();
If something fails
- Проверьте “Known issues”:
../reference/known-issues.md - Для подключения клиентов (DBeaver и др.):
../reference/client-compatibility.md - Для репорта багов соберите артефакты по
../reference/support.md.
Дальше
После того как сервер ответил psql -h 127.0.0.1 и базовый SELECT отработал, логичные следующие шаги:
- Что такое AngaraBase — продуктовый обзор: для чего проект, чем отличается от ванильного PostgreSQL.
- Обзор совместимости SQL — что из стандарта можно использовать прямо сейчас.
- Конфигурация — как поднять сервер не из дефолтов, а под свой сценарий.
- Модель безопасности — прежде чем пускать кого-либо ещё, кроме себя.