Saltar a contenido

PDF-010R - PostgreSQL Admin Owner Credential Recovery

Estado final: NO-GO CREDENTIAL.

Resumen Simple

Estamos iterando porque el diseno B2B ya esta correcto y el DDL corregido PDF-010P ya esta listo, pero el bloqueo real no es de modelo ni de SQL: es credencial/permisos. openclaw_writer sirve para lectura, pero no para DDL. Para produccion necesitamos una credencial admin/owner real del target o un grant controlado antes del proximo gate.

SAFE POINT Inicial

  • HEAD: 673320c84109e4ab45da9dccc66e938a63b38630
  • origin/main: 673320c84109e4ab45da9dccc66e938a63b38630
  • ultimo commit: 673320c docs: add pdf-010p b2b ddl retry candidate
  • repo inicial: con cambios pendientes de PDF-010Q NO-GO PRE-DDL
  • git diff --check: PASS

Que Paso En PDF-010Q

PDF-010Q quedo NO-GO PRE-DDL: las variables destino existian y conectaban, pero el usuario efectivo fue openclaw_writer. PostgreSQL confirmo DB gestion_de_negocios_core, schema business_observer, owner del schema postgres, roles openclaw_bo_* existentes y objetos B2B ausentes. El gate se detuvo antes de backup, antes de DDL y antes de cualquier SQL write.

Fuentes Locales Revisadas Sin Valores

  • Variables de entorno de la sesion: sin variables PostgreSQL admin/owner detectadas.
  • C:\APV\openclawai\.env: existe, esta ignorado por Git y contiene nombres APV_DESTINATION_POSTGRES_* y APV_LOCAL_POSTGRES_ADMIN_*.
  • C:\APV\openclawai\.env.example: versionado, contiene placeholders con los mismos nombres, sin credenciales reales.
  • .env.local: no detectado.
  • Documentacion y scripts locales: referencias a postgres, openclaw_bo_admin, openclaw_bo_writer, openclaw_writer, gestion_de_negocios_core y business_observer.

Fuentes VPS Revisadas Sin Valores

SSH a openclaw-vps respondio en host srv977009.

  • /opt/stacks/openclaw/.env: existe, revisado sin imprimir valores; no se detectaron nombres PostgreSQL admin/owner target.
  • /opt/openclawai/.env.example: contiene placeholders APV_LOCAL_POSTGRES_ADMIN_* y APV_DESTINATION_POSTGRES_*, no credenciales reales.
  • /opt/openclawai/**/.env y docker compose bajo /opt/openclawai y /opt/stacks/openclaw: revisados por nombres de variables; no aportaron una credencial admin/owner real para gestion_de_negocios_core.
  • Documentacion operativa remota: referencias a paquetes PostgreSQL previos, B2B PDF-010K a PDF-010P, roles openclaw_bo_* y schema business_observer.

No se copiaron secretos desde el VPS.

Variables Detectadas Sin Valores

En .env local ignorado por Git:

  • APV_DESTINATION_POSTGRES_HOST
  • APV_DESTINATION_POSTGRES_PORT
  • APV_DESTINATION_POSTGRES_DATABASE
  • APV_DESTINATION_POSTGRES_USER
  • APV_DESTINATION_POSTGRES_PASSWORD
  • APV_DESTINATION_POSTGRES_SSLMODE
  • APV_LOCAL_POSTGRES_ADMIN_HOST
  • APV_LOCAL_POSTGRES_ADMIN_PORT
  • APV_LOCAL_POSTGRES_ADMIN_DATABASE
  • APV_LOCAL_POSTGRES_ADMIN_USER
  • APV_LOCAL_POSTGRES_ADMIN_PASSWORD
  • APV_LOCAL_POSTGRES_ADMIN_SSLMODE

En .env.example local y /opt/openclawai/.env.example remoto:

  • mismos nombres como placeholders/documentacion, no como secretos reales.

No se detectaron variables APV_DESTINATION_POSTGRES_ADMIN_* completas ni variables PGHOST/PGPORT/PGDATABASE/PGUSER/PGPASSWORD/PGSSLMODE de sesion para este gate.

Resultado De Conexion Admin Owner

Validacion read-only con C:\Program Files\PostgreSQL\15\bin\psql.exe:

  • Perfil APV_DESTINATION_POSTGRES_*: conecta al target gestion_de_negocios_core, pero current_user=openclaw_writer.
  • Perfil APV_LOCAL_POSTGRES_ADMIN_*: conecta como postgres, superuser y owner de DB local postgres, pero no apunta a gestion_de_negocios_core y el schema business_observer no existe en esa conexion.

No hay credencial admin/owner target usable detectada en este gate.

Resultado Permisos DDL

Para APV_DESTINATION_POSTGRES_*:

  • current_database=gestion_de_negocios_core
  • current_user=openclaw_writer
  • owner DB: postgres
  • owner schema business_observer: postgres
  • superuser: false
  • USAGE sobre business_observer: true
  • CREATE sobre DB: false
  • CREATE sobre schema business_observer: false
  • miembro de openclaw_bo_admin: false
  • objetos B2B: ausentes
  • DDL PDF-010P en proximo gate: NO-GO con esa credencial

Recomendacion Unica

Usar Opcion A: ejecutar el proximo gate con el usuario postgres real del target, o con el owner real de DB/schema gestion_de_negocios_core / business_observer, cargado como credencial segura local ignorada por Git o variable de entorno de sesion.

No recomiendo dar permisos permanentes a openclaw_writer para DDL.

Grant Candidate No Ejecutado

Si no se puede usar el owner/admin real, el grant minimo candidate para un usuario ejecutor aprobado seria:

sql GRANT CREATE ON DATABASE gestion_de_negocios_core TO <ddl_executor>; GRANT USAGE, CREATE ON SCHEMA business_observer TO <ddl_executor>;

No ejecutar este grant sin aprobacion de gobernanza. No fue ejecutado en este gate.

Proximo Gate

PDF-010S o gate equivalente:

  • cargar credencial admin/owner target sin imprimir valores;
  • confirmar que apunta a gestion_de_negocios_core;
  • ejecutar preflight read-only final;
  • crear backup real pre-DDL fuera de Git;
  • ejecutar PDF-010P solo con autorizacion explicita SQL write/DDL.

Que NO Se Ejecuto

  • No se ejecuto DDL.
  • No se ejecuto SQL write.
  • No se crearon tablas.
  • No se aplicaron grants.
  • No se modifico .env.
  • No se imprimieron secretos, passwords ni connection strings completas.
  • No se toco WooCommerce API.
  • No se modifico runtime WooCommerce.
  • No se ejecuto sync, scheduler, cron ni pipelines.