এসএসএস ব্যবহার করে পোস্টগ্রিতে মাল্টলাইন ক্যোয়ারীগুলি কার্যকর করার একটি সহজ উপায় কী?


9

বলুন আমার হাতটি কনসোলে কিছু প্রশ্ন লিখতে হবে, CREATE TABLEস্টেটমেন্টের মতো মাল্টলাইন কোয়েরি কার্যকর করার সবচেয়ে কার্যকর উপায় কী?

আমি মাইক্রোসফ্ট ম্যানেজমেন্ট স্টুডিও ব্যবহার করতে অভ্যস্ত, তবে আমি এখন নিজেরাই পোস্টগ্র্রেএসকিউএল সম্পর্কে শিখতে পাই find


এটি টাইপ? কপি এবং পেস্ট? একটি ফাইল থেকে পুনঃনির্দেশ?
মাইকেল হ্যাম্পটন

হ্যাঁ আমি বলতে চাইছি এটি আমার আঙ্গুল দিয়ে টাইপ করুন: পি। আমি কি এ পেয়ে করছি যে postgres হয় #প্রম্পট প্রদর্শিত হয় কেবলমাত্র একটি যা মহান জিনিষ পছন্দ করেন এক লাইন লিখুন CREATE DATABASEবা ALTER USER। কার্যকর করার আগে আমি কীভাবে আমার পাঠ্যটি সুন্দরভাবে ফর্ম্যাট করতে সক্ষম হব?
চাদ হ্যারিসন

উত্তর:


4

"মাল্টি-লাইন ক্যোয়ারী" বলে আসলে কিছুই নেই - পোস্টগ্র্রেএসকিউএল যতক্ষণ না যত্নশীল, যতটা সাদা জায়গা এবং এই নিউলাইনগুলি অর্থহীন (যদি না তারা স্ট্রিংয়ের অভ্যন্তরে উপস্থিত হয় বা আমরা ট্যাবগুলি নিয়ে কথা বলি না এবং যেমন একটি COPYবিবৃতিতে বা একটিতে অন্যান্য কয়েকটি বিশেষ স্থান)।

এসএসএইচ-এর উপর "কনসোলে" ক্যোয়ারী লেখার কাজটি সাধারণত psqlসরঞ্জামটির সাথে করা হয় যা পোস্টগ্রিস ইন্টারেক্টিভ টার্মিনাল ( আরও তথ্যের জন্য ডকস দেখুন)।

বিকল্পটি ব্যবহার করার জন্য আপনি কোয়েরিযুক্ত পাঠ্য ফাইলগুলি পাস করতে পারেন ।psql-f

আপনি psqlকমান্ড লাইনেও প্রশ্নগুলি পাস করতে পারেন (আপনার শেলের জন্য উপযুক্ত হিসাবে উদ্ধৃত), বা এটিকে STDIN (স্ট্যান্ডার্ড ইনপুট স্ট্রিম) এর মাধ্যমে পাইপ করতে পারেন - -cবিকল্পটি দেখুন।


পাইপ, পাইপ সম্পর্কে চিন্তা করা উচিত ছিল। আমি এখনও শিখি।
চাদ হ্যারিসন

25

নিম্নলিখিত পোস্টগ্র্রেএসকিউএল এর ইন্টারেক্টিভ টার্মিনালে আপনাকে নিয়ে যাবে:

$ psql <your database name>

তারপরে একটি সম্পাদক খোলার জন্য \e(বা \edit) প্রবেশ করুন ( viডিফল্ট):

# \e

কিছু ক্যোয়ারী লিখুন:

select now();

অবশেষে, সংরক্ষণ করুন এবং আপনার এডিটর প্রস্থান (যেমন :wqমধ্যে vi), এবং psqlকোয়েরি আপনি শুধু লিখেছিলেন চালানো হবে।

যেমন একটি ভিন্ন সম্পাদক সেট করতে vimবা nano, নিম্নলিখিত এনভায়রনমেন্ট ভেরিয়েবল এর সেট এক: PSQL_EDITOR, EDITOR, VISUAL

আরও তথ্যের জন্য https://www.postgresql.org/docs/current/app-psql.html দেখুন এবং অনুসন্ধান করুন \e


2

আপনি কোনও অস্থায়ী ফাইলে ক্যোয়ারী লিখতে এবং এটি দিয়ে সম্পাদন করতে পারেন psql -f /path/to/temp/file


0

স্পষ্টতই, তবে যদি কেউ সচেতন না হন তবে আপনি সরাসরি পিএসএইচএল প্রম্পটে মাল্টি-লাইন স্টেটমেন্ট লিখতে পারেন:

psql -h localhost -p 5432 -U postgres public
public=# SELECT
public=# *
public=# FROM
public=# mytable
public=# LIMIT 1;

চলমান ;চরিত্রটি নোট করুন - এই অক্ষরটি জারি হওয়ার পরে কোনও এসকিউএল কমান্ড কেবল কার্যকর করা হবে। সুতরাং সবচেয়ে সহজ উপায় হ'ল কেবল একটি অনুচক্রীকরণের সাথে মাল্টি-লাইন এসকিউএল কমান্ডগুলি অনুলিপি করা এবং আটকানো ;

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