পোস্টগ্রিএসকিউএল-এ আমি কীভাবে ফোন নম্বর সঞ্চয় করব?


16

ধরে নেওয়া যাক আমি একটি ডাটাবেসে ফোন নম্বর সংরক্ষণ করতে চাই। আমি মার্কিন যুক্তরাষ্ট্রের বাইরের ফোন নম্বরগুলি গ্রহণ করতে পারি। আমি কীভাবে এই ফোন নম্বরগুলি সঞ্চয় করতে যাব?


উত্তর:


22

libphonenumber

যখন সম্ভব হয় সর্বদা ক্যানোনিকাল ফর্মটি ব্যবহার করুন। ফর্মটি যত বেশি স্বাভাবিক করা যায় তত ভাল। যদি কোনও মান থাকে তবে এটি ব্যবহার করুন। এই সমস্যার জন্য, আসুন পিজি -লিফফোনেনবারের প্রক্সি দ্বারা গুগলের লিবিফোনেনবারটি ব্যবহার করি

CREATE EXTENSION pg_libphonenumber;

এটি বর্তমানে phone_numberধরণের তুলনা অপারেটর এবং ফাংশন ইনস্টল করে । এটি একটি আন্তর্জাতিক স্বীকৃতি আকারে নম্বর সংরক্ষণ করে। এটি আমার মতে সেরা সমঝোতা।

parse_phone_number('textnumber', 'CountryCode');

কারণ আমরা যখন বলতে পারি যে ফোন নম্বরগুলি একে অপরের সমান হয় এবং আমরা একটি অভ্যন্তরীণ স্বাভাবিক ফর্ম সরবরাহ করি তখন আমরা এটি করতে পারি ..

SELECT parse_phone_number('03 7010 1234', 'AU') = parse_phone_number('(03) 7010 1234', 'AU');

(সত্য সত্য) এর অর্থ এটিও DISTINCTকাজ করে যাতে আপনি উপরেরটি দেখতে চান এমন প্রভাব পেতে আমরা এটি করতে পারি।

CREATE TABLE foo
AS
  SELECT DISTINCT parse_phone_number(ph, 'AU')
  FROM ( VALUES
    ('0370101234'),
    ('03 7010 1234'),
    ('(03) 7010 1234')
  ) AS t(ph);
SELECT 1

যে ভিতরে রাখে ..

 parse_phone_number 
--------------------
 +61 3 7010 1234
(1 row)

8
দুর্ভাগ্যক্রমে, প্যাকেজটি 1 বছরেরও বেশি সময় ধরে আলফা অবস্থায় রয়েছে বলে মনে হয় ... আপনি যদি এটির উত্পাদনতে ব্যবহার করার চেষ্টা করেন তবে উচ্চ যত্নের প্রস্তাব দেওয়া হচ্ছে।
joanolo

2
@ জোয়ানোলো আপনি ঠিক বলেছেন, তবে মনে হচ্ছে যে নতুন অবদানকারী, ইভান ক্যারল ঠিক আজই একটি নতুন প্রতিশ্রুতিবদ্ধ করেছেন ... কেউ কেউ ইভানের পক্ষে এই সমস্ত স্ব-প্রচারকে বিবেচনা করবে তবে আমি এই স্ব-উত্তরকেও উত্সাহিত করেছি কারণ তিনি সক্রিয়ভাবে রয়েছেন এক্সটেনশনে অবদান রাখছে ...
দারিও

3
আমি ডকুমেন্টেশনে কেবল "অবদান" রেখেছি। এবং, ডকুমেন্টেশন উন্নত করার জন্য আমি সবসময়ই একই ফ্যাশনে এটি পোস্ট করার আগে আমি তা করেছিলাম। আমি কোনও উপকারী অর্থে "অবদানকারী" নই। আমার কোন কমিট নেই। আমি সি ++ কোড লিখি না। আমি কেবল পিজিএসকিউএল এবং লিবিফোনেনবার্ড বাধ্যতামূলক সম্পর্কে তাদের সম্পর্কে জেনে এবং সেগুলি কীভাবে ব্যবহার করতে পারি সে সম্পর্কে আমি উত্সাহী।
ইভান ক্যারল

5
ডকুমেন্টেশনে অবদান রাখছে। ;) এবং আমি এই পোস্টের কারণে আমার একটি (নিরাপদ, অ-সমালোচনা) প্রকল্পে লাইবফোনেম্বার ব্যবহার করব। ধন্যবাদ.
দারিও

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