整理项目

This commit is contained in:
Neo
2025-12-09 05:43:04 +08:00
parent 0c29bd41f8
commit 0ab040b9fb
29 changed files with 170 additions and 2062 deletions

View File

@@ -0,0 +1,40 @@
"""Simple PostgreSQL connectivity smoke-checker."""
import os
import sys
import psycopg2
from psycopg2 import OperationalError
DEFAULT_DSN = os.environ.get(
"PG_DSN", "postgresql://local-Python:Neo-local-1991125@100.64.0.4:5432/LLZQ-test"
)
DEFAULT_TIMEOUT = max(1, min(int(os.environ.get("PG_CONNECT_TIMEOUT", 10)), 20))
def check_postgres_connection(dsn: str, timeout: int = DEFAULT_TIMEOUT) -> bool:
"""Return True if connection succeeds; print diagnostics otherwise."""
try:
conn = psycopg2.connect(dsn, connect_timeout=timeout)
with conn:
with conn.cursor() as cur:
cur.execute("SELECT 1;")
_ = cur.fetchone()
print(f"PostgreSQL 连接成功 (timeout={timeout}s)")
return True
except OperationalError as exc:
print("PostgreSQL 连接失败OperationalError", exc)
except Exception as exc: # pragma: no cover - defensive
print("PostgreSQL 连接失败(其他异常):", exc)
return False
if __name__ == "__main__":
dsn = sys.argv[1] if len(sys.argv) > 1 else DEFAULT_DSN
if not dsn:
print("缺少 DSN请传入参数或设置 PG_DSN 环境变量。")
sys.exit(2)
ok = check_postgres_connection(dsn)
if not ok:
sys.exit(1)