اتصال به دیتابیس PostgreSQL در برنامه‌های PHP


برای اتصال به دیتابیس PostgreSQL نیاز به انجام کار خاصی نیست؛ چرا که اکستنشن‌های مربوط به آن، مانند PDO و pgsql از قبل، توسط لیارا، نصب شده است. فقط کافیست تا طبق مستندات تنظیم متغیرهای محیطی، متغیرهای مربوط به دیتابیس خود را به برنامه اضافه کنید؛ برای نمونه:

کپی
PG_URI=postgresql://root:2aCRtMfc2oMou67U2GftmLmd@annapurna.liara.cloud:32655/postgres

پس از انجام کار فوق، می‌توانید مانند قطعه کد زیر، به دیتابیس متصل شده و از آن، استفاده کنید:

کپی
<?php
$uri = getenv("PG_URI");

try {
    $uriParts = parse_url($uri);

    $host = $uriParts['host'];
    $port = $uriParts['port'];
    $user = $uriParts['user'];
    $pass = $uriParts['pass'];
    $dbname = ltrim($uriParts['path'], '/');

    // Create a new PDO instance with persistent connection enabled
    $pdo = new PDO(
        "pgsql:host=$host;port=$port;dbname=$dbname",
        $user,
        $pass,
        array(
            PDO::ATTR_PERSISTENT => true
        )
    );

    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    echo "Connected to PostgreSQL database successfully with persistent connection!";
} catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}
?>

در اکستنشن PDO و با کمک دستور ATTR_PERSISTENT ، قابلیت connection pooling تعبیه شده است و نیازی نیست که شما برای فعال‌سازی این قابلیت، کار خاصی را انجام دهید.