From 9efb0bbe63dc2cc13b7f288e7edbcebe717da500 Mon Sep 17 00:00:00 2001 From: nanxun Date: Mon, 3 Aug 2026 23:59:07 +0800 Subject: [PATCH] fix: release PostgreSQL shared service 15.1.1 --- README.md | 8 ++++---- fnos-postgresql/manifest | 2 +- scripts/build-postgresql-fnos-package.sh | 2 +- scripts/smoke-postgresql-fnos-package.sh | 1 + src/PostgresService.WebApi/PostgresAdminService.cs | 2 +- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index dbd7893..4919e3b 100644 --- a/README.md +++ b/README.md @@ -38,8 +38,8 @@ cd .. 默认输出: ```text -artifacts/fnos/nxsir-postgresql-15.1.0-x86_64.fpk -artifacts/fnos/nxsir-postgresql-15.1.0-x86_64.fpk.sha256 +artifacts/fnos/nxsir-postgresql-15.1.1-x86_64.fpk +artifacts/fnos/nxsir-postgresql-15.1.1-x86_64.fpk.sha256 ``` 构建脚本会下载 Debian Bookworm PostgreSQL 15 运行时,并对官方 pgvector `0.8.6-1.pgdg12+1` 包执行固定 SHA-256 校验。`app.tgz` 还会检查校验和、路径穿越、绝对/越界链接和 512 MB 解包上限。 @@ -50,8 +50,8 @@ artifacts/fnos/nxsir-postgresql-15.1.0-x86_64.fpk.sha256 ```bash dotnet test tests/PostgresService.Tests/PostgresService.Tests.csproj -./scripts/verify-fnos-package.sh artifacts/fnos/nxsir-postgresql-15.1.0-x86_64.fpk -./scripts/smoke-postgresql-fnos-package.sh artifacts/fnos/nxsir-postgresql-15.1.0-x86_64.fpk +./scripts/verify-fnos-package.sh artifacts/fnos/nxsir-postgresql-15.1.1-x86_64.fpk +./scripts/smoke-postgresql-fnos-package.sh artifacts/fnos/nxsir-postgresql-15.1.1-x86_64.fpk ``` 冒烟测试会临时启动实际包内 PostgreSQL 和管理 API,验证两个隔离客户端、SCRAM、pgvector、跨库拒绝、只读 SQL、写语句拒绝、备份和重启持久性,退出时停止进程并删除临时数据。 diff --git a/fnos-postgresql/manifest b/fnos-postgresql/manifest index 5a4d973..5dbb707 100644 --- a/fnos-postgresql/manifest +++ b/fnos-postgresql/manifest @@ -1,5 +1,5 @@ appname=nxsir.postgresql -version=15.1.0 +version=15.1.1 display_name=PostgreSQL 共享服务 desc=面向 fnOS 应用的原生 PostgreSQL 15 共享数据库服务,包含 pgvector、安全凭据签发、管理面板和手动备份恢复 platform=x86 diff --git a/scripts/build-postgresql-fnos-package.sh b/scripts/build-postgresql-fnos-package.sh index b1ac020..9c38c1b 100755 --- a/scripts/build-postgresql-fnos-package.sh +++ b/scripts/build-postgresql-fnos-package.sh @@ -2,7 +2,7 @@ set -euo pipefail ROOT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd) -VERSION=15.1.0 +VERSION=15.1.1 PGVECTOR_VERSION=0.8.6 PGVECTOR_PACKAGE_VERSION=0.8.6-1.pgdg12%2B1 PGVECTOR_SHA256=b27ff894d1e2d23ebd7528fcb986923391977cbd5c5379ed74527875246854ca diff --git a/scripts/smoke-postgresql-fnos-package.sh b/scripts/smoke-postgresql-fnos-package.sh index fb7bcf6..46bb406 100755 --- a/scripts/smoke-postgresql-fnos-package.sh +++ b/scripts/smoke-postgresql-fnos-package.sh @@ -71,6 +71,7 @@ curl -fsS -c "$COOKIE_JAR" -H 'Content-Type: application/json' \ --data "{\"username\":\"admin\",\"password\":\"$ADMIN_PASSWORD\"}" \ "$BASE_URL/api/v1/auth/login" >/dev/null curl -fsS -b "$COOKIE_JAR" "$BASE_URL/api/v1/overview" | grep -q '"version"' +curl -fsS -b "$COOKIE_JAR" "$BASE_URL/api/v1/sessions" | grep -q '^\[' enroll() { app_id=$1 diff --git a/src/PostgresService.WebApi/PostgresAdminService.cs b/src/PostgresService.WebApi/PostgresAdminService.cs index affbe9c..e451e54 100644 --- a/src/PostgresService.WebApi/PostgresAdminService.cs +++ b/src/PostgresService.WebApi/PostgresAdminService.cs @@ -315,7 +315,7 @@ public sealed class PostgresAdminService { await using var connection = await OpenAsync("postgres", cancellationToken); await using var command = new NpgsqlCommand(""" - SELECT pid, COALESCE(datname, ''), usename, COALESCE(state, ''), + SELECT pid, COALESCE(datname, ''), COALESCE(usename, ''), COALESCE(state, ''), left(query, 1000), query_start FROM pg_stat_activity WHERE pid <> pg_backend_pid()