উগুন্টুতে পিজিএডমিন 3 ব্যবহার করে কীভাবে একটি দূরবর্তী পোস্টগ্রাসএসকিউএল ডাটাবেসের সাথে সংযুক্ত করবেন?


22

আমি একটি উবুন্টু মেশিনে একটি পোস্টগ্রাসএসকিউএল ডাটাবেস সেটআপ করার চেষ্টা করছি। আমি একটি দূরবর্তী মেশিন থেকে pgAdmin3 ব্যবহার করে এটি অ্যাক্সেস করতে সক্ষম হতে চাই। আমি কীভাবে এটি সেটআপ করব?

আমি উবুন্টুতে পোস্টগ্রিজ এসকিউএল ডাটাবেসটি ব্যবহার করে ইনস্টল করেছি:

sudo apt-get install postgresql

আমার /etc/postgresql/9.1/main/pg_hba.confএই লাইনটি আছে:

host    all    all    all    password

সুতরাং এটি সমস্ত আইপিভি 4-ঠিকানা থেকে সংযোগ গ্রহণ করতে হবে এবং পাসওয়ার্ডগুলি পরিষ্কার পাঠ্যে প্রেরণ করা উচিত (এটি বিকাশের কারণে)।

কী পরিষেবাগুলি চলছে তা দেখার জন্য যদি আমি এই আদেশটি চালাই:

sudo netstat -tulpn

আমি এই লাইনগুলি দেখতে পাচ্ছি, এটি দেখিয়ে দিচ্ছে যে PostgreSQL ডিফল্ট বন্দরে সংযোগ গ্রহণ করছে:

tcp    0    0    127.0.0.1:5432    0.0.0.0:*    LISTEN
3561/postgres

যখন আমি একই স্থানীয় নেটওয়ার্কের একটি রিমোট কম্পিউটার থেকে এই পোস্টগ্রাইএসকিউএল সার্ভারের সাথে সংযোগ দেওয়ার চেষ্টা করি তখন আমি এই ত্রুটি বার্তাটি পাই:

সার্ভার শুনছে না

সার্ভার সংযোগগুলি গ্রহণ করে না: সংযোগ গ্রন্থাগারের প্রতিবেদনগুলি

সার্ভারের সাথে সংযোগ স্থাপন করতে পারেনি: সংযোগ অস্বীকার করেছে সার্ভারটি কি "10.0.1.7" হোস্টে চলছে এবং 5432 পোর্টে টিসিপি / আইপি সংযোগ গ্রহণ করছে?

আমি postgresব্যবহারকারীর নাম এবং কোনও পাসওয়ার্ড হিসাবে ব্যবহার করেছি । তবে আমি postgresপাসওয়ার্ড হিসাবে চেষ্টা করেছি । স্থানীয় সার্ভারে আমি লগইন করে এই ব্যবহার করতে পারি:

sudo -u postgres psql postgres

PgAdmin3 ব্যবহার করে দূরবর্তী মেশিন থেকে আমি উবুন্টুতে চলমান একটি পোস্টগ্রাসএসকিউএল ডাটাবেসের সাথে কীভাবে সংযোগ করতে পারি?

উত্তর:


25

আপনার নেটস্ট্যাট প্রতিবেদনের লাইনটি দেখায় যে ইনকামিং টিসিপি সংযোগের জন্য ডাটাবেসটি কেবল লোকালহোস্ট: 5432 (127.0.0.1) এ শুনছে।

Proto Recv-Q Send-Q Local Address   Foreign Address  State   PID/Program name
tcp        0      0 127.0.0.1:5432  0.0.0.0:*        LISTEN  3561/postgres

সুতরাং আপনি pg_hba.conf- এ যে কোনও অনুমতি নির্ধারণ করেছেন তা নির্বিশেষে এটি কেবল স্থানীয় টিসিপি সংযোগ গ্রহণ করতে পারে। pg_hba.conf কেবল অনুমোদিত সংযোগগুলি নির্দিষ্ট করে তবে আপনার পরিষেবাটি কী ইন্টারফেসগুলি শুনবে তা নির্দিষ্ট করে না।

সার্ভার শোনার ঠিকানাগুলি postgresql.confশ্রুতি_ ঠিকানা ঠিকানা জিইউসি দিয়ে নির্দিষ্ট করা হয়েছে । আপনি যদি সার্ভারটি দূরবর্তী সংযোগের জন্য শোনার চান তবে আপনি যে আইপি (গুলি) শুনতে চান তা *হোস্টের সমস্ত উপলভ্য ইন্টারফেসের উপর শুনতে বা শুনতে চান specify

আপনার পোস্টগ্র্যাসকিএল সার্ভার হোস্টের সমস্ত ইন্টারফেসে শোনার জন্য আপনার পোস্টগ্রিসক্লিএলএনএফ-এ নিম্নলিখিত লাইন থাকা উচিত:

listen_addresses = '*'

কিন্তু আমি ইতিমধ্যে নির্দিষ্ট করেছেন allমধ্যে pg_hba.confফাইল ... তাই এটি সব আইপি-ঠিকানাগুলি থেকে connetions গ্রহণ করা উচিত।
জোনাস

সম্ভবত আমি এটি আরও পরিষ্কারভাবে বলতে পারতাম। pg_hba ডাটাবেস যা শুনবে তা নির্দিষ্ট করে না, কেবল প্রোটোকল / ডিবি / ব্যবহারকারীর / রিমোট-অ্যাড্রের সংযোগের জন্য অনুমোদিত।
dbenhur

ঠিক আছে, তাহলে আমি কীভাবে এটি ঠিক করব? আপনার কি কোন পরামর্শ আছে?
জোনাস

1
আপনি listen_addresses = '*'postgresql.conf এ একটি লাইন স্থাপন করে এবং আপনার সার্ভারটি পুনরায় চালু করে এটি ঠিক করেছেন ।
dbenhur

ধন্যবাদ, এটি এই সমস্যার সমাধান করেছে। এখন আমি ডিফল্ট পাসওয়ার্ড নিয়ে সবেমাত্র সমস্যা পেয়েছি :(
জোনাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.