Lines 397-437shell
398ensure_native_pgvector_available() {
400 available="$(run_as_postgres psql -Atqc "select 1 from pg_available_extensions where name = 'vector'" postgres 2>/dev/null || true)"
401 if [[ "$available" == "1" ]]; then
405 apt_available || fail "native runtime mode requires pgvector to be installed for PostgreSQL"
407 package_name="$(apt_search_first_package 'pgvector')"
408 [[ -n "$package_name" ]] || fail "native runtime mode could not find a pgvector package; install pgvector locally before rerunning setup"
409 run_privileged apt-get update
410 run_privileged apt-get install -y "$package_name"
413ensure_native_postgres_database() {
414 local escaped_user escaped_db escaped_password role_exists db_exists
415 escaped_user="$(sql_escape_literal "${ARCHON_POSTGRES_USER:-archon}")"
416 escaped_db="$(sql_escape_literal "${ARCHON_POSTGRES_DB:-archon}")"
417 escaped_password="$(sql_escape_literal "${ARCHON_POSTGRES_PASSWORD}")"
MediumSecret Pattern
Package contains a possible secret pattern.
scripts/setup-archon.shView on unpkg · L417 419 role_exists="$(run_as_postgres psql -Atqc "select 1 from pg_roles where rolname = '${escaped_user}'" postgres 2>/dev/null || true)"
420 if [[ "$role_exists" != "1" ]]; then
421 # Pipe SQL via stdin so the password does not appear in ps aux process arguments.
422 printf "CREATE ROLE \"%s\" WITH LOGIN PASSWORD '%s';\n" \
423 "${ARCHON_POSTGRES_USER:-archon}" "${escaped_password}" \
424 | run_as_postgres psql -v ON_ERROR_STOP=1 postgres
426 printf "ALTER ROLE \"%s\" WITH LOGIN PASSWORD '%s';\n" \
427 "${ARCHON_POSTGRES_USER:-archon}" "${escaped_password}" \
428 | run_as_postgres psql -v ON_ERROR_STOP=1 postgres
431 db_exists="$(run_as_postgres psql -Atqc "select 1 from pg_database where datname = '${escaped_db}'" postgres 2>/dev/null || true)"
432 if [[ "$db_exists" != "1" ]]; then
433 run_as_postgres psql -v ON_ERROR_STOP=1 -c "create database \"${ARCHON_POSTGRES_DB:-archon}\" owner \"${ARCHON_POSTGRES_USER:-archon}\"" postgres
436 run_as_postgres psql -v ON_ERROR_STOP=1 -d "${ARCHON_POSTGRES_DB:-archon}" -c "create extension if not exists vector"