ডেভসংকেত

পোস্টগ্রেস / পোস্টজিআরই এসকিউএল

পোস্টগ্রেস / পোস্টজিআরই এসকিউএল একটি এডভান্সড ওপেন সোর্স রিলেশনাল ডেটাবেজ

কন্ট্রিবিউটর

  • iamraufu
  • alxayeed
  • CodeMechanix
  • RevelYusuf
  • Revel109

শেয়ার করুন

ব্যাসিক কমান্ডস

  • লিনাক্সে ইনস্টল

    sudo apt-get install postgresql postgresql-contrib
  • উইন্ডোজে ইনস্টল

    just type in the name of the executable and hit enter(PostgreSQL-Installer.exe)
  • ম্যাকে ইনস্টল

    brew install postgresql
  • সার্ভারের সাথে কানেক্ট করা

    sudo su - postgres(ডিফল্ট ইউজার)
  • সার্ভারে লগইন করা

    psql
  • লগইন ডিটেইলস জানা

    \conninfo
  • নতুন ইউজার ক্রিয়েট করা

    sudo -u postgres createuser <username>
  • নতুন ইউজারের পাসওয়ার্ড সেট করা

    alter user <username> with encrypted password '<password>'
  • নতুন ইউজারকে নির্দিষ্ট ডেটাবেজে এক্সেস পারমিশন দেয়া

    grant all privileges on database <dbname> to <username>
  • নির্দিষ্ট ইউজারকে ডিলিট করা

    su - postgres -c 'dropuser www-dtata'
  • সার্ভার থেকে ডিসকানেক্ট/লগআউট হয়ে যাওয়া

    \q

ডেটাবেজ কুয়েরি

  • একটা টেবিলের সব ডেটা দেখা

    SELECT * FROM table_name
  • স্পেসিফিক কলামের সব ডেটা দেখা

    SELECT column, column2….FROM table
  • টেবিলের ইউনিক রো এর ডেটা দেখা

    SELECT DISTINCT (column) FROM table
  • ফিল্টার করে ডেটা দেখা

    SELECT * FROM table WHERE condition
  • একাধিক কন্ডিশন ফিল্টার করে ডেটা দেখা(AND / OR)

    SELECT * FROM table WHERE condition1 AND condition2 OR condition3 ...... conditionN;
  • একটি কলামের মানের জন্য একাধিক ভ্যালু ফিল্টার করে ডেটা দেখা(IN)

    SELECT * FROM table WHERE (column) IN (value1,value2,...... valueN);
  • একটি কলামের মান নির্দিষ্ট সীমায় আছে কীনা চেক করা(BETWEEN)

    SELECT * FROM table WHERE (column) BETWEEN (lower bound) AND (upper bound);
  • নির্দিষ্ট সংখ্যক আউটপুট কুয়েরি করা(LIMIT)

    SELECT * FROM table LIMIT 10;
  • কুয়েরির ১ম থেকে নির্দিষ্ট সংখ্যক রো বাদ দিয়ে তারপর থেকে দেখানো(OFFSET)

    SELECT * FROM table OFFSET 10;
  • স্ট্রিং ম্যাচ করে ডেটা দেখা

    SELECT * FROM table_name WHERE column LIKE '%value%'
  • কুয়েরি আউটপুট pretty-format এ দেখা

    \x
  • টেবিল নতুন কলাম এড করা

    ALTER TABLE table_name ADD COLUMN new_column_name TYPE
  • টেবিলের স্পেসিফিক রো ডিলিট করে দেয়া

    DELETE FROM table_name WHERE condition
  • টেবিলের ইউনিক রো এর ডেটা দেখা

    SELECT DISTINCT (column) FROM table
  • টেবিলের সব রো ডিলিট করে দেয়া

    DELETE FROM table_name
  • টেবিলের (যে টেবিল অন্য টেবিলের সাথে রিলেশন আছে) সব রো ডিলিট করার ক্ষেত্রে

    TRUNCATE tableName RESTART IDENTITY CASCADE
  • ক্রমানুসারে ডাটা কুয়েরি করা

    SELECT * FROM table ORDER BY ASC/ DESC;

টেবিল জয়েন

  • ক্রস জয়েন(ডান টেবিলের প্রতি রো এর জন্য বাম টেবিলের সকল রো এর কম্বিনেশন)

    SELECT (column) FROM left_table CROSS JOIN right_table;
  • ইনার জয়েন(বাম টেবিলের যেসব রো এর প্রাইমারি কি ডান টেবিলে ফরেইন কি হিসেবে আছে)

    SELECT left_table.column,...right_table.column FROM left_table INNER JOIN right_table ON left_table.pk = right_table.fk;
  • লেফট আউটার জয়েন(বাম টেবিলের সব রো, ডান টেবিলের মিলে যাওয়া রো)

    SELECT (columns) FROM left_table LEFT OUTER JOIN right_table ON left_table.pk = right_table.fk;
  • রাইট আউটার জয়েন(ডান টেবিলের সব রো, বাম টেবিলের মিলে যাওয়া রো)

    SELECT (columns) FROM left_table RIGHT OUTER JOIN right_table ON left_table.pk = right_table.fk;
  • ফুল আউটার জয়েন(২ টেবিলের কমন আনকমন সব রো)

    SELECT * FROM left_table FULL OUTER JOIN right_table ON left_table.pk = right_table.fk;

জেনারেল কমান্ডস

  • ডেটাবেজ ক্রিয়েট করা

    CREATE DATABASE yourdbname
  • স্পেসিফিক ডেটাবেজের সাথে কানেক্ট হওয়া

    \c database_name
  • সার্ভারে এভাইলেবল ডাটাবেজের লিস্ট দেখা

    \l
  • সার্ভারে এভাইলেবল ডাটাবেজের স্কিমা দেখা

    \dn
  • কারেন্ট ডাটাবেজের সব টেবিল দেখা

    \dt
  • স্পেসিফিক টেবিলের সব ইনফরমেশন দেখা

    \d+ table_name
  • সকল ইউজারের লিস্ট দেখা

    \du
  • নতুন রোল ক্রিয়েট করা

    CREATE ROLE role_name
  • ডেটাবেজ পার্মানেন্টলি ডিলিট করে দেয়া

    DROP DATABASE [IF EXISTS] db_name
  • ডেটাবেজের নাম পরিবর্তন

    ALTER DATABASE <old_name> RENAME TO <new_name>
  • কারেন্ট ইউজার দেখা

    SELECT current_user

গাণিতিক অপারেশন

  • কলামের সর্বনিম্ন মান বের করা

    SELECT MIN(column name) FROM table;
  • কলামের সর্বোচ্চ মান বের করা

    SELECT MAX(column name) FROM table;
  • কলামের সকল মানের গড় বের করা

    SELECT AVG(column name) FROM table;
  • কলামের সকল মানের সমষ্টি বের করা

    SELECT SUM(column name) FROM table;
  • n দশমিক স্থান পর্যন্ত আসন্ন মান বের করা(ROUND)

    SELECT ROUND(AVG(column name), n) FROM table;
  • n দশমিক স্থান পর্যন্ত মান বের করা(TRUNC)

    SELECT TRUNC(AVG(column name), n) FROM table;

ডেটাবেজ ব্যাকআপ

  • এক্সিস্টিং ডেটাবেজ এর কপি/ডাম্প ক্রিয়েট করা

    pg_dump -h localhost -U postgres --no-acl --no-owner existingdb > newgenerateddb.sql
  • ব্যাকআপ নেয়া ডেটা নতুন ডেটাবেজে লোড করা

    psql -h localhost -U postgres mynewcreateddb -f newgenerateddb.sql

ডেভসংকেত সম্পর্কে

ডেভসংকেত এর লক্ষ্য হচ্ছে বাংলাতে একটা বড় চিটশিটের ভান্ডার গড়ে তোলা। এটা সম্পূর্ণ স্বাধীন এবং ওপেন সোর্স গিটহাব অর্গানাইজেশন।

স্পন্সর