আপনি সত্যই, সত্যিই এটি করতে চান না। পোস্টগ্র্যাস কোনও অপারেটিং সিস্টেম নয়, এটি একটি ডাটাবেস সার্ভার। এমনকি ডাটাবেসটি তফসিলযুক্ত চলমান কাজগুলিকে সমর্থন করলেও ডাটাবেসটিকে এর মতো অপব্যবহার করা সত্যিই ভাল ধারণা নয়।
আপনার উদ্বেগ যদি আপনি পাসওয়ার্ড এবং স্টাফ সেটআপ করতে চান না, তবে এটি সমাধান করা সহজ। একটি সেট আপ করুন স্থানীয় ইউনিক্স সকেট বিশ্বাস বা ident প্রমাণীকরণ ব্যবহার সংযোগ পরিবর্তে, সেই ব্যবহারকারীর হিসাবে আপনার cronjob চালানো।
বাক্সের কনফিগারেশনের বাইরে, পোস্টগ্রিস সাধারণত ব্যবহারকারী ব্যবহারকারীকে postgres
ডিবি সার্ভার চালনার জন্য সেটআপ করে এবং সাধারণত এই সিস্টেম ব্যবহারকারী ইতিমধ্যে পূর্বনির্ধারিত থাকে যাতে এটি স্থানীয় ইউনিক্স সকেটের মাধ্যমে সংযোগ করার সময় বিশ্বাসের প্রমাণীকরণ ব্যবহার করে স্থানীয় সার্ভারের সাথে সংযোগ স্থাপন করতে পারে। আপনি পোস্টগ্রিস সিস্টেম ব্যবহারকারী হিসাবে আপনার ক্রোনজব চালাতে পারেন, স্থানীয় সকেটের সাথে সংযোগ স্থাপন করতে পারেন , এবং তারপরে আপনি যদি আপনার স্টোরেজ পদ্ধতিটি সুপারভাইজার সুবিধা দিয়ে চালাতে না চান তবে ভূমিকা স্যুইচ করতে পারেন।
ডিফল্ট সেটআপে আপনি কেবল এটি করতে পারেন:
$ sudo -u postgres crontab -e
সম্পাদকটিতে ক্রন্টব এন্ট্রি তেমন যুক্ত করুন:
0 0 * * * bash /path/to/run_stored_procedure.sh
এবং আপনার /path/to/run_stored_procedure.sh ফাইলে আপনি কেবল আপনার স্টোরের পদ্ধতিতে কল করতে পিএসকিএল ব্যবহার করেন
#!/usr/bin/env bash
psql my_db_name <<END
SET ROLE limited_user;
SELECT my_stored_proc();
SELECT 1 FROM my_stored_proc();
END