Spaces:
Paused
Paused
| import asyncio | |
| import asyncpg | |
| import ssl | |
| import logging | |
| import sys | |
| from datetime import datetime | |
| # Configure logging to both file and console | |
| log_filename = f"db_connection_{datetime.now().strftime('%Y%m%d_%H%M%S')}.log" | |
| logging.basicConfig( | |
| level=logging.DEBUG, | |
| format='%(asctime)s - %(levelname)s - %(message)s', | |
| handlers=[ | |
| logging.FileHandler(log_filename), | |
| logging.StreamHandler(sys.stdout) | |
| ] | |
| ) | |
| logger = logging.getLogger(__name__) | |
| async def test_direct_connection(): | |
| logger.info("Starting database connection test") | |
| ssl_context = ssl.create_default_context() | |
| ssl_context.check_hostname = False | |
| ssl_context.verify_mode = ssl.CERT_NONE | |
| try: | |
| logger.info("Creating SSL context and attempting database connection...") | |
| conn = await asyncpg.connect( | |
| user='postgres', | |
| password='Lovyelias5584.', | |
| host='juycnkjuzylnbruwaqmp.supabase.co', | |
| port=5432, | |
| database='postgres', | |
| ssl=ssl_context, | |
| timeout=60.0 | |
| ) | |
| logger.info("Successfully connected to database!") | |
| version = await conn.fetchval('SELECT version()') | |
| logger.info(f"Database version: {version}") | |
| await conn.close() | |
| logger.info("Connection closed successfully") | |
| except Exception as e: | |
| logger.error(f"Error connecting to database: {str(e)}", exc_info=True) | |
| raise | |
| finally: | |
| logger.info("Test completed") | |
| if __name__ == "__main__": | |
| try: | |
| logger.info("Starting connection test script") | |
| asyncio.run(test_direct_connection()) | |
| except Exception as e: | |
| logger.error("Fatal error in main", exc_info=True) | |
| sys.exit(1) |