list_databases.py 586 B

123456789101112131415161718192021222324
  1. #!/usr/bin/env python3
  2. import os
  3. import psycopg2
  4. from dotenv import load_dotenv
  5. load_dotenv()
  6. conn = psycopg2.connect(
  7. host=os.getenv('KNOWHUB_DB'),
  8. port=int(os.getenv('KNOWHUB_PORT', 5432)),
  9. user=os.getenv('KNOWHUB_USER'),
  10. password=os.getenv('KNOWHUB_PASSWORD'),
  11. database='postgres' # 连接到默认数据库
  12. )
  13. conn.autocommit = True
  14. cursor = conn.cursor()
  15. cursor.execute("SELECT datname FROM pg_database WHERE datistemplate = false;")
  16. print("主机上的所有数据库:")
  17. for row in cursor.fetchall():
  18. print(f" - {row[0]}")
  19. cursor.close()
  20. conn.close()