تنظیماتی برای اجازه دادن به رایانه های دیگر برای اتصال به پایگاه داده PostgreSQL (نسخه ویندوز)
محیط عملیاتی
- Postgresql
-
- PostgreSQL 15
- ویندوز (سرور)
-
- ویندوز سرور 2019
- ویندوز (مشتری)
-
- ویندوز 11
پیش نیازها
- ویندوز
-
- ویندوز سرور 2019
- ویندوز سرور 2016
- نسخه های دیگر ممکن است کار کنند، اما به طور رسمی پشتیبانی نمی شوند.
فایروال
در ویندوز، فایروال ها از اتصالاتی غیر از پورت های استاندارد جلوگیری می کنند. باید پیکربندی شود تا بتواند برای اتصال به PostgreSQL در پورت متصل شود.
پس از ورود به محیط ویندوز سمت سرور، "فایروال" را از منوی شروع تایپ کرده و انتخاب کنید فایروال Windows Defender را با Advanced Security باز کنید.
هنگامی که صفحه باز شد، "قوانین ورودی" را از منوی سمت چپ انتخاب کنید و روی "قانون جدید..." از منوی سمت راست کلیک کنید.
برای نوع قانون، پورت را انتخاب کنید.
برای پروتکل و پورت، TCP را به عنوان پروتکل انتخاب کنید. برای پورت، پیش فرض 5432 را وارد کنید. اگر شماره پورت دیگری را در نصب PostgreSQL خود مشخص کرده اید، آن شماره پورت را وارد کنید.
برای "اقدام"، "اجازه اتصال" را انتخاب کنید.
در "نمایه"، "دامنه" و "خصوصی" را علامت بزنید. من فکر می کنم بعید است که شما اجازه دهید یک پایگاه داده در یک محیط "عمومی" دسترسی داشته باشد که به افراد نامشخص اجازه دسترسی به آن را می دهد.
نام و توضیحات اختیاری وارد کنید. لطفا آن را وارد کنید تا به راحتی بتوان هدف از باز کردن پورت را درک کرد.
پس از اضافه شدن، در لیست ظاهر می شود.
postgresql.conf
تنظیمات را در postgresql.conf بررسی کنید. فکر نمی کنم لازم باشد آن را در نسخه 15 تغییر دهید.
یک فایل در مکان زیر وجود دارد، بنابراین آن را با یک برنامه دفترچه یادداشت باز کنید. لطفا مسیر را بررسی کنید زیرا بسته به نسخه متفاوت است.
C:\Program Files\PostgreSQL\15\data\postgresql.conf
listen_addresses
به دنبال پارامتر به نام باشید. اگر به صورت زیر تنظیم شده باشد، نیازی به تغییر ندارید:
listen_addresses = '*'
pg_hba.conf
به طور پیش فرض، پایگاه داده فقط از محیط محلی قابل دسترسی است.
یک فایل در مکان زیر وجود دارد، بنابراین آن را با یک برنامه دفترچه یادداشت باز کنید. لطفا مسیر را بررسی کنید زیرا بسته به نسخه متفاوت است.
C:\Program Files\PostgreSQL\15\data\pg_hba.conf
این احتمال وجود دارد که در تصحیح آن اشتباه کنید، بنابراین لطفا قبل از تغییر فایل، آن را کپی کرده و نسخه پشتیبان تهیه کنید.
اگر به پایین اسکرول کنید، خطوط زیر را خواهید دید: این نشان می دهد که IPv4 فقط به صورت محلی قابل دسترسی است.
# TYPE DATABASE USER ADDRESS METHOD
:
host all all 127.0.0.1/32 scram-sha-256
:
این آدرس را روی یک یا محدوده تنظیم کنید تا از رایانه های دیگر قابل دسترسی باشد.
مقداری که تعیین می کنید به شبکه ای که می سازید بستگی دارد.
اگر مطمئن نیستید، لطفا 0.0.0.0/0
به همه با یا samenet
تایپ اجازه دهید تا تمام محدوده همان شبکه سرور را مجاز کند.
نمونه های پیکربندی
# TYPE DATABASE USER ADDRESS METHOD
:
host all all 192.168.0.0/24 scram-sha-256
:
سرویس را مجددا راه اندازی کنید
pg_hba.conf
این فایل های پیکربندی فقط زمانی خوانده می شوند که PostgreSQL راه اندازی شود، بنابراین باید سرویس را مجددا راه اندازی کنید.
به هر حال، با شروع PostgreSQL بارگذاری می شود، بنابراین اگر ویندوز را مجددا راه اندازی کنید، در آن زمان بارگذاری می شود.
پس از باز کردن منوی شروع، "services" را تایپ کنید تا راه اندازی شود.
"postgresql-x64-15 - PostgreSQL Server 15" را از لیست میانی پیدا کرده و انتخاب کنید. توجه داشته باشید که نام بسته به نسخه متفاوت خواهد بود. پس از انتخاب، روی "راه اندازی مجدد سرویس" از سمت چپ کلیک کنید.
بررسی اتصال از رایانه های دیگر
بیایید ببینیم آیا می توانیم از رایانه شخصی دیگری به پایگاه داده متصل شویم یا خیر. اطلاعات مقصد اتصال بسته به محیط متفاوت است، بنابراین فقط روش در اینجا توضیح داده شده است. من این بار از pgAdmin برای اتصال استفاده می کنم، اما فکر می کنم می توانید با سایر ابزارهای دسترسی به پایگاه داده نیز ارتباط برقرار کنید.
پس از راه اندازی pgAdmin در رایانه مشتری جدا از سرور پایگاه داده، روی سرورها کلیک راست کرده و "ثبت نام > سرور..." را انتخاب کنید.
در تب General، نام باید نامی باشد که به شما در شناسایی سرور کمک کند.
برگه اتصال را انتخاب کنید. "نام / آدرس میزبان" ، "داده های تعمیر و نگهداری" ، "نام کاربری" و "رمز عبور" را وارد کنید. اگر نمی خواهید هر بار رمز عبور را وارد کنید، «ذخیره گذرواژه» را روشن کنید. به هر حال، pdAdmin ممکن است نتواند نام هاست را حل کند، بنابراین در این صورت، آدرس IP را مستقیما مشخص کنید.
در صورت نیاز سایر فیلدهای ورودی را پر کنید. وقتی کارتان تمام شد، روی دکمه "ذخیره" کلیک کنید.
اگر بتوانید به پایگاه داده سرور مورد نظر متصل شوید، تأیید کامل شده است.