দূরবর্তীভাবে postgresql ডাটাবেস অ্যাক্সেস


46

আমার ১২.১০ এবং ডিজিটালওসেনে একটি ভিপিএসের রিমোট মেশিন থেকে একটি পোস্টগ্র্যাস্কিল ডাটাবেস অ্যাক্সেস করা দরকার post

আমি এটা কিভাবে করবো? আমি লক্ষ্য করেছি পোর্ট 5432 বন্ধ আছে, আমি এটি কীভাবে খুলব?


1
Javabypatel.blogspot.in/2015/07/… এ উল্লিখিত পদক্ষেপগুলি অনুসরণ করুন এবং postgresql.conf ফাইলে উপস্থিত পোর্ট নম্বরটি পরিবর্তন করুন। পোর্ট রিস্টার্ট PostgreSQL সার্ভার পরিবর্তন করার পরে।
জয়েশ

@ জয়শ পোস্ট করেছেন url কৌতুকটি করেছেন। অনুসরণ করা নির্দেশাবলী এবং সফলভাবে আমার একটি বিকাশ কম্পিউটারকে অন্যটির সাথে সংযুক্ত করে তোলে (উইন্ডোজ থেকে পিজএডমিন 4 সাথে উবুন্টু 18.04
পোস্টগ্র্যাসিকেল

উত্তর:


78

পোর্টটি খোলার জন্য 5432 সম্পাদনা করুন /etc/postgresql/9.1/main/postgresql.confএবং পরিবর্তন করুন

listen_addresses='localhost'

প্রতি

listen_addresses='*'

এবং আপনার ডিবিএমএস পুনরায় চালু করুন

invoke-rc.d postgresql restart

এখন আপনি সাথে সংযোগ করতে পারেন

$ psql -h hostname -U username -d database

আপনি যদি নিজের প্রমাণীকরণ করতে অক্ষম হন তবে আপনাকে আপনার ডাটাবেসে আপনার ব্যবহারকারীর অ্যাক্সেসের অধিকারগুলি দিতে হবে

আপনার সম্পাদনা করুন

/etc/postgresql/9.1/main/pg_hba.conf

এবং যোগ করুন

host all all all md5

(এটি একটি বিস্তৃত উন্মুক্ত অ্যাক্সেসের জন্য। কঠোর নিয়ন্ত্রণের জন্য, pg_hba.conf ডকুমেন্টেশনের সাথে পরামর্শ করুন এবং আপনার প্রয়োজন অনুসারে সামঞ্জস্য করুন)।

পরবর্তীতে আপনার আবার একটি লোডও দরকার

invoke-rc.d postgresql reload

আমার এটি উল্লেখ করার দরকার নেই যে এটি একটি প্রাথমিক কনফিগারেশন, এখন আপনার ফায়ারওয়ালটি সংশোধন করা এবং আপনার ডিবিএমএসের সুরক্ষা উন্নত করা উচিত।


4
বিশেষত, আপনার এসএসএল সক্ষম করা উচিত।
ক্রেগ রিঞ্জার

ওকি, আমি এটি চেষ্টা করেছিলাম, কিন্তু যখন আমি আমার কম্পিউটার থেকে পিজএডমিন ব্যবহার করে সংযোগ দেওয়ার চেষ্টা করি, তখন আমি "সার্ভারটি শুনছি না" পেয়েছি। আমি আইপিটিবেলে যোগ করেছি, এবং যখন আমি iptables চালিত করি -L নীচের শোগুলি দেখায়: ACCEPT tcp - যে কোনও জায়গায় tcp dpt: postgresql এই সাইটে আইপি এবং পোর্টটি পরীক্ষা করার সময় ( yougetsignal.com/tools/open-port ), এটি বলেছে বন্দরটি বন্ধ রয়েছে
vyvind

2
সার্ভার শুনছে? ব্যবহারকারীর সাথে চেক করুনnetstat -nlt|grep :5432

1
আমি আরও কঠোর উপায়ে হোস্ট সারিটি প্রবেশ host <database> <user> <remote_client_IPaddress>/24 md5
করিয়ে দেব

Postgresql সংস্করণ 9.5 এর জন্য শ্রবণ_প্রেমীরা কার্যকর হওয়ার আগে আপনাকে সার্ভার পুনরায় চালু করতে হবে।
হিদার 92065

26

এটি যদি আর কখনও কাজ করে না তবে:

সমস্ত হোস্ট * এমডি 5

এর জন্য সঠিক সম্ভাব্য লাইনগুলি হ'ল:

সমস্ত 0.0.0.0/0 এমডি 5 # আইপিভি 4 পরিসীমা সমস্ত হোস্ট করুন

সমস্ত হোস্ট করুন :: 0/0 এমডি 5 # ipv6 ব্যাপ্তি

সমস্ত এমডি 5 # সমস্ত আইপি হোস্ট করুন

উৎস


4
এটি অবশ্যই কৌশলটি করেছে। উপরের উত্তরটি অবশ্যই কাজ করে নি।
মাইক 18

দয়া করে @ মাইকটি যা সঠিক তা প্রকাশ করুন: ঠিকঠাক host all all all md5কাজ করবে? এটা সঠিক? কোন সুরক্ষা সমস্যা?
পিটার ক্রাউস

@ পেটারক্রাউস হ্যাঁ, সমস্ত এমডি 5 আমার পক্ষে কাজ করেছেন host সুরক্ষা সমস্যা? অবশ্যই এটি, তবে আমি যা করছি তার জন্য এটি ঠিক ছিল। (অভ্যন্তরীণ নেটওয়ার্ক)
মাইক

3

"সার্ভারটি শুনছে না" বার্তাটির জন্য, আমার সাথে তা ঘটেছিল, আমি সংরক্ষণাগারটিতে পোস্টগ্রেসক্লুএল.কমের অর্থ # মুছতে পারি না তার অর্থ:

# Listen_addresses = 'স্থানীয় হোস্ট'

প্রতি:

listen_addresses = '*'

(আমার ইংরেজীর জন্য দুঃখিত).


0

সর্বাধিক ভোটপ্রাপ্ত এবং গৃহীত উত্তরের গুরুতর সুরক্ষা-ইমপ্লিকেশন রয়েছে। এই পদ্ধতিটি ভাল কারণে ডিফল্টরূপে অক্ষম করা হয়েছে।

এর সাথে স্থানীয় পোর্ট ফরওয়ার্ডিংয়ের সাথে আরও ভাল ব্যবহার করুন ssh:

ssh -L local_port:localhost:foreign_port user@server

পোর্ট ফরওয়ার্ডিং শুরু করুন:

ssh -L 5432:localhost:5432 user@your-server.com
#or
ssh -L 5432:127.0.0.1:5432 user@your-server.com

(আপনার কনফিগারেশন মাপসই স্থানীয় এবং বিদেশী বন্দর পরিবর্তন করুন)।

তারপরে আপনি সরাসরি আপনার স্থানীয় কম্পিউটার থেকে ডাটাবেসে সংযোগ করতে পারেন:

psql -U db_user -p local_port -l
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.