পোস্টগ্রেএসকিউএল-এ "ডাটাবেস_নাম ব্যবহার করুন" কমান্ড


366

আমি পোস্টগ্রিজ এসকিউএল এর শিক্ষানবিস।

আমি USEমাইএসকিউএল বা এমএস এসকিউএল সার্ভারের কমান্ডের মতো পোস্টগ্রিসের ক্যোরি সম্পাদক থেকে অন্য একটি ডাটাবেসের সাথে সংযোগ স্থাপন করতে চাই ।

আমি \c databasenameইন্টারনেট অনুসন্ধান করে খুঁজে পেয়েছি , তবে এটি কেবলমাত্র পিএসএইচএল- তে চালায় । আমি পোস্টগ্রিজএসকিউএল কোয়েরি সম্পাদক থেকে এটি চেষ্টা করার সময় আমি একটি সিনট্যাক্স ত্রুটি পাই।

আমাকে পিএসস্ক্রিপ্ট করে ডাটাবেস পরিবর্তন করতে হবে। কেউ কীভাবে এটি করতে জানেন?



আরেকটি বিকল্প হ'ল সরাসরি স্কিমাতে সংযোগ স্থাপন করা। উদাহরণ: sudo -u postgres psql -d my_database_nameউত্স
অ্যালিকেলজিন-কিলাকা

উত্তর:


381

আপনি যখন PostgreSQLএটির সাথে সংযোগ পাবেন তখন সর্বদা একটি নির্দিষ্ট ডাটাবেসের সাথে থাকে। একটি পৃথক ডাটাবেস অ্যাক্সেস করতে, আপনাকে একটি নতুন সংযোগ পেতে হবে।

\cপিএসকিএল-এ ব্যবহার করা পুরানো সংযোগটি বন্ধ করে দেয় এবং নির্দিষ্ট ডেটাবেস এবং / অথবা শংসাপত্রগুলি ব্যবহার করে একটি নতুন অর্জন করে। আপনি সম্পূর্ণ নতুন ব্যাক-এন্ড প্রক্রিয়া এবং সবকিছু পান।


ধন্যবাদ আপনার মূল্যবান দিকনির্দেশনার জন্য কেজিগ্রিটন।আপনি কি আমাকে বলতে পারেন যে আমি কীভাবে ডেটাবেজে নতুন সংযোগ স্থাপন করতে পারি এবং pgscript কোয়েরি ব্যবহার করে পূর্ববর্তীটি বন্ধ করতে পারি?
সাম

আমি pgscript এর সাথে পরিচিত নই। যদি এটি এমন কোনও ভাষা হয় যেখানে আপনি ফাংশন লেখেন তবে উত্তরটি হ'ল এটি করা যায় না। হয়তো আপনার বিভিন্ন ডেটাবেসের পরিবর্তে বিভিন্ন স্কিমে টেবিল স্থাপন বিবেচনা করা উচিত ?
কেজিগ্রিটন

2
একটি জিজ্ঞাসা পোস্টগ্রিএসকিউএলে ডাটাবেস পরিবর্তন করতে পারে না।
কেজিগ্রিটন

সব আপনার সাহায্যের জন্য ধন্যবাদ kgrittn .. :)
স্যাম

8
যদি আমি ভুল না হয়ে থাকি তবে মাইএসকিউএল-তে থাকা ডেটাবেসগুলি পোস্টগ্রিজ এসকিউএলএর স্কিমার তুলনায় অনেক বেশি - আপনি সেগুলির মধ্যে স্যুইচ করতে পারেন, তবে পোস্টগ্রিসকিউএলএল ডিবি সম্পূর্ণ ভিন্ন বলগেম।
এমপিএন

213

সংযোগের জন্য আপনাকে অবশ্যই ডাটাবেস নির্দিষ্ট করতে হবে; আপনি যদি আপনার স্ক্রিপ্টের জন্য পিএসকিএল ব্যবহার করতে চান তবে আপনি "\ সি নাম_ড্যাটাসবেস" ব্যবহার করতে পারেন

user_name=# CREATE DATABASE testdatabase; 
user_name=# \c testdatabase 

এই সময়ে আপনি নিম্নলিখিত আউটপুট দেখতে পাবেন

You are now connected to database "testdatabase" as user "user_name".
testdatabase=#

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



9

মাইএসকিউএল থেকে স্থানান্তরিত করার সময় আমি যে সমস্যার মুখোমুখি হয়েছিলাম databaseতা হ'ল পোস্টগ্র্রেএসকিউএল-তেও এই শব্দটি একই বলে মনে হয়েছিল , তবে তা নয়। সুতরাং আমরা যদি আমাদের অ্যাপ্লিকেশন থেকে ডেটাবেস স্যুইচ করতে যাচ্ছি বা pgAdmin, ফলাফলটি প্রত্যাশার মতো হবে না। আমার ক্ষেত্রে হিসাবে, আমাদের প্রতিটি গ্রাহকের জন্য পৃথক স্কিমা (পোস্টগ্রিজ এসকিউএল পরিভাষা বিবেচনা করে।) রয়েছে separate সুতরাং অ্যাপ্লিকেশন, আমি স্কিমার মধ্যে পরিবর্তন করতে হবে।

এর জন্য, আমরা SET search_pathকমান্ডটি ব্যবহার করতে পারি । এটি বর্তমান সেশনের জন্য নির্দিষ্ট স্কিমা নামে বর্তমান স্কিমাটি স্যুইচ করে।

উদাহরণ:

SET search_path = different_schema_name;

এটি সেশনের জন্য নির্দিষ্ট স্কিমাতে কারেন্ট_স্কেমাকে পরিবর্তন করে। এটি স্থায়ীভাবে পরিবর্তন করতে, আমাদের postgresql.confফাইলে পরিবর্তন করতে হবে।


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