在准备环境前提交次全部更改。

This commit is contained in:
Neo
2026-02-19 08:35:13 +08:00
parent ded6dfb9d8
commit 4eac07da47
1387 changed files with 6107191 additions and 33002 deletions

View File

@@ -0,0 +1,65 @@
# -*- coding: utf-8 -*-
"""检查 FDW 前提条件角色是否存在、app schema 是否有视图/表"""
import psycopg2
CONN = dict(host="100.64.0.4", port=5432, user="local-Python", password="Neo-local-1991125")
print("=== 1. 检查角色 ===")
c = psycopg2.connect(**CONN, dbname="postgres")
cur = c.cursor()
for role in ["app_reader", "app_user"]:
cur.execute("SELECT 1 FROM pg_roles WHERE rolname = %s", (role,))
exists = cur.fetchone() is not None
print(f" {role}: {'OK' if exists else 'MISSING'}")
c.close()
print("\n=== 2. 检查 etl_feiqiu.app schema 对象 ===")
c = psycopg2.connect(**CONN, dbname="etl_feiqiu")
cur = c.cursor()
cur.execute(
"SELECT tablename FROM pg_tables WHERE schemaname = 'app' ORDER BY tablename"
)
tables = [r[0] for r in cur.fetchall()]
cur.execute(
"SELECT viewname FROM pg_views WHERE schemaname = 'app' ORDER BY viewname"
)
views = [r[0] for r in cur.fetchall()]
cur.execute(
"SELECT matviewname FROM pg_matviews WHERE schemaname = 'app' ORDER BY matviewname"
)
mvs = [r[0] for r in cur.fetchall()]
print(f" tables: {len(tables)} {tables[:5]}{'...' if len(tables)>5 else ''}")
print(f" views: {len(views)} {views[:5]}{'...' if len(views)>5 else ''}")
print(f" matviews: {len(mvs)} {mvs[:5]}{'...' if len(mvs)>5 else ''}")
c.close()
print("\n=== 3. 检查 test_etl_feiqiu.app schema 对象 ===")
c = psycopg2.connect(**CONN, dbname="test_etl_feiqiu")
cur = c.cursor()
cur.execute(
"SELECT tablename FROM pg_tables WHERE schemaname = 'app' ORDER BY tablename"
)
tables2 = [r[0] for r in cur.fetchall()]
cur.execute(
"SELECT viewname FROM pg_views WHERE schemaname = 'app' ORDER BY viewname"
)
views2 = [r[0] for r in cur.fetchall()]
cur.execute(
"SELECT matviewname FROM pg_matviews WHERE schemaname = 'app' ORDER BY matviewname"
)
mvs2 = [r[0] for r in cur.fetchall()]
print(f" tables: {len(tables2)} {tables2[:5]}{'...' if len(tables2)>5 else ''}")
print(f" views: {len(views2)} {views2[:5]}{'...' if len(views2)>5 else ''}")
print(f" matviews: {len(mvs2)} {mvs2[:5]}{'...' if len(mvs2)>5 else ''}")
c.close()
print("\n=== 4. 检查 postgres_fdw 扩展可用性 ===")
for db in ["zqyy_app", "test_zqyy_app"]:
c = psycopg2.connect(**CONN, dbname=db)
cur = c.cursor()
cur.execute("SELECT 1 FROM pg_available_extensions WHERE name = 'postgres_fdw'")
avail = cur.fetchone() is not None
cur.execute("SELECT 1 FROM pg_extension WHERE extname = 'postgres_fdw'")
installed = cur.fetchone() is not None
print(f" {db}: available={avail}, installed={installed}")
c.close()