পিএসকিএল এর ইন্টারেক্টিভ আউটপুট জন্য পেজার বন্ধ করুন


36

আমরা PostgreSQL 8.3 থেকে 9.0 এ স্যুইচ করেছি। সম্ভবত এটি একটি নতুন বৈশিষ্ট্য বা সম্ভবত একটি কনফিগারেশন পরিবর্তন, তবে এখন যখন কমান্ডগুলি (যেমন, \d tablename) থেকে আউটপুট দৃশ্যমান উল্লম্ব স্থানকে ছাড়িয়ে যায়, তখন পিএসএইচএল এর অনুরূপ কিছু দিয়ে আউটপুটটি পাইপ করে বলে মনে হয় less। আমি এই আচরণটি বন্ধ করার কোনও উপায় খুঁজে পাইনি। কোন পরামর্শ? ধন্যবাদ।

পিএস আমি Shift+PgUp/PgDnপুটিটিওয়াই ব্যবহার করে বাফারটি স্ক্রোল করছি যাতে আমার পিএসএলএল এর পেজিংয়ের প্রয়োজন হয় না। এছাড়াও, যখন আমি qপিএসএলএল এর পেজিংয়ে টিপব, তখন এর আউটপুটটি পুরোপুরি পর্দা থেকে অদৃশ্য হয়ে যায় (ঠিক যেমন lessবাশ চালানোর পরে ), যা সাধারণ ব্যবহারের ক্ষেত্রে দৃষ্টিকোণ থেকে ভুল।


আপনি যদি গুগল থেকে এখানে কেবল পেজারের মাধ্যমে স্ক্রোল করার চেষ্টা করছেন তবে এটি Space- n বা PgDn বা ডাউন তীরের মতো নয় আমি চেষ্টা করেছি।
নওমেনন

উত্তর:


35

তার জন্য ডকুমেন্টেশন রয়েছে।

পিএসকিএল ম্যানুয়ালটির \ পিএসটি বিভাগ থেকে :

পেজার

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

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


9
ধন্যবাদ. সম্পূর্ণ সমাধান দেখে মনে হচ্ছে: psql -P pager
ইউরি উশাকভ

3
আমি অনুমান করি যে প্রতিবার এটি প্রবেশ করা এড়াতে আপনি এমনকি আপনার ~ / .psqlrc ফাইলটিতে একটি বিকল্প রাখতে পারেন।
সোভেন

যাইহোক কম আর্গুমেন্ট পাস?
স্ন্যাপফ্র্যাক্টলপপ

3
আমিও ইউরির সমস্যায় পড়লাম। উপরে বর্ণিত. \pset pagerআউটপুট পেজারে যায় কিনা তা টগল করতে আপনি পিএসকিএল-এ ব্যবহার করতে পারেন । তবে, আপনি পেজার ব্যবহার করতে সক্ষম হবেন এবং প্রস্থানটি ছেড়ে দেওয়ার সময় পর্দা থেকে আউটপুট অদৃশ্য না হওয়া উচিত। উত্তরটি পেজার হিসাবে 'কম' পরিবর্তে 'আরও' ব্যবহার করা। আপনি নিজের শেলটিতে PAGER এনভায়রনমেন্ট ভেরিয়েবল সেট করে বা AG / .psqlrc ফাইলটিতে একটি PAGER এনভায়রনমেন্ট ভেরিয়েবল যুক্ত করে তা করতে পারেন।
মাইকেল রাশ

4
@ মিশেল রাশ: সেট PAGERকরুন less -Xএবং এটি স্ক্রিনটি সাফ করবে না।
সোভেন

21

সুইচার চেষ্টা করুন:

database_name=# \pset pager
Pager is used for long output.
database_name=# \pset pager
Pager usage is off.

3
এছাড়াও \pset pager [on|off]ধ্রুবক ফলাফলের জন্য।
lolesque



0

psqlশেল ব্যবহার করার সময় পেজারটি বন্ধ করতে :

psql -P pager=off ...

আপনি খালি PAGERপরিবেশের পরিবর্তনশীলও রফতানি করতে পারেন , সুতরাং আপনার প্রতিটি বিবৃতিতে বিকল্প যুক্ত করার দরকার নেই। আপনি আপনার বর্তমান শেলটি বন্ধ না করা পর্যন্ত এটি সেট থাকবে।

export PAGER=
psql ...

অবশেষে, এমন একটি workaround যা মনে রাখা সহজ হতে পারে: এর মাধ্যমে আউটপুটটি পাইপ করুন cat, যা ডিফল্ট পেজারটি অক্ষম করবে

psql ... | cat

0

সংক্ষিপ্ততার সর্বোত্তম উপায় হ'ল পেজারের জন্য পরিবেশের পরিবর্তনশীল সেট করা eg

PAGER='less -X' psql

বা একবার সেট করতে

export PAGER='less -X'

তারপর চালান

psql

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