উত্তর:
ওএসএসপি ইউইড ফাংশনগুলির DEFAULT
মধ্যে একটিতে কলামটি নির্ধারণ করার সময় কল করুন । পোস্টগ্র্রেস সার্ভারটি প্রতিবার একটি সারি isোকানোর পরে স্বয়ংক্রিয়ভাবে ফাংশনটি শুরু করবে।
CREATE TABLE tbl
(
pkey UUID NOT NULL DEFAULT uuid_generate_v1() ,
CONSTRAINT pkey_tbl PRIMARY KEY ( pkey )
)
যদিও Postgres আউট-অফ-বক্স সমর্থন সংরক্ষণকারী UUID (সর্বজন অনন্য সনাক্তকারী) তাদের নেটিভ মান 128-বিট ফর্ম, উৎপাদিত UUID মান একটি প্লাগ ইন প্রয়োজন। পোস্টগ্রিসে, একটি প্লাগ-ইন একটি হিসাবে পরিচিত extension
।
একটি এক্সটেনশন ইনস্টল করতে, কল করুন CREATE EXTENSION
। পুনরায় ইনস্টল এড়াতে, যুক্ত করুন IF NOT EXISTS
। দেখুন আমার ব্লগ পোস্ট আরো বিস্তারিত জানার জন্য, অথবা Stackoverflow এই পাতাটি ।
আমরা যে এক্সটেনশনটি চাই তা হ'ল ইউডিইউএস , ওএসএসপি ইউইডের সাথে কাজ করার জন্য সি-তে নির্মিত একটি ওপেন-সোর্স লাইব্রেরি । পোস্টগ্রিসের জন্য এই লাইব্রেরির একটি বিল্ডিং প্রায়শই পোস্টগ্রিসের ইনস্টলেশন যেমন এন্টারপ্রাইজ ডিবি দ্বারা সরবরাহিত গ্রাফিকাল ইনস্টলারগুলির সাথে পোস্টগ্র্রেএসকিউএল এর জন্য অ্যামাজন আরডিএসের মতো ক্লাউড সরবরাহকারীদের দ্বারা অন্তর্ভুক্ত থাকে ।
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
দেখুন এক্সটেনশগুলির ডক UUID মান বিভিন্ন ধরণের জেনারেট করার জন্য প্রদত্ত একাধিক কমান্ডের তালিকা দেখতে। কম্পিউটারের ম্যাক ঠিকানা প্লাস বর্তমান তারিখ-সময় প্লাস একটি ছোট এলোমেলো মান থেকে তৈরি ইউআইডি-র মূল সংস্করণ পেতে uuid_generate_v1()
।
SELECT uuid_generate_v1();
672124b6-9894-11e5-be38-001d42e813fe
এই থিমটিতে পরবর্তীকালের বৈচিত্রগুলি ইউআইডিগুলির বিকল্প ধরণের জন্য বিকাশ করা হয়েছিল। কিছু লোক সার্ভারের প্রকৃত MAC ঠিকানা রেকর্ড করতে নাও পারে, উদাহরণস্বরূপ, সুরক্ষা বা গোপনীয়তার উদ্বেগগুলির জন্য। পোস্টগ্র্যাস এক্সটেনশানটি পাঁচ ধরণের ইউইউডি উত্পন্ন করে, সাথে "শূন্য" ইউআইডিও তৈরি করে 00000000-0000-0000-0000-000000000000
।
যে কোনও নতুন rowোকানো সারিটির জন্য একটি ডিফল্ট মান উত্পন্ন করতে সেই পদ্ধতি কলটি স্বয়ংক্রিয়ভাবে করা যেতে পারে। কলামটি সংজ্ঞায়িত করার সময়, উল্লেখ করুন:
DEFAULT uuid_generate_v1()
নীচের উদাহরণ সারণী সংজ্ঞাতে ব্যবহৃত কমান্ডটি দেখুন।
CREATE TABLE public.pet_
(
species_ text NOT NULL,
name_ text NOT NULL,
date_of_birth_ text NOT NULL,
uuid_ uuid NOT NULL DEFAULT uuid_generate_v1(), -- <====
CONSTRAINT pet_pkey_ PRIMARY KEY (uuid_)
)
WITH (
OIDS=FALSE
);
ALTER TABLE public.pet_
OWNER TO postgres;
UUID-ossp প্লাগইন তৈরি করতে পারেন UUID বিভিন্ন সংস্করণ ।
uuid_generate_v1()
uuid_generate_v1mc()
uuid_generate_v3( namespace uuid, name text )
uuid_generate_v4()
uuid_generate_v5( namespace uuid, name text )
uuid_nil()
00000000-0000-0000-0000-000000000000
। অজানা ইউআইডি মানটির জন্য পতাকা হিসাবে ব্যবহৃত। নীল ইউইউডি হিসাবে পরিচিত ।ধরণের তুলনা করতে, প্রশ্নটি দেখুন, কোন ইউআইডি সংস্করণটি ব্যবহার করবেন?
যদি আপনি সংস্করণ 3 এবং 5 সম্পর্কে আগ্রহী হন তবে এই প্রশ্নটি দেখুন, ভি 5 ইউআইডি তৈরি হচ্ছে Gene নাম এবং নামস্থান কী? ।
আরও আলোচনার জন্য, আমার অনুরূপ প্রশ্নের উত্তর এবং জেডিবিসি থেকে পোস্টগ্রিসে আমার ব্লগ পোস্ট ইউআইডি মানগুলি দেখুন ।
getObject()
ব্যবহার করতে পারেন তা কাস্ট করা সত্যই দরকার নেইUUID id = rs.getObject("uuid_", UUID.class);
uuid_generate_v1
বা uuid_generate_v1mc
।
বাসিলের খুব বিস্তারিত উত্তরের সাথে একটি সামান্য সংযোজন:
যেহেতু বর্তমানে বেশিরভাগ পিজক্রিপ্টো ব্যবহার করছেন , পরিবর্তে uuid_generate_v1()
আপনি সংস্করণ 4 ইউআইডি মানটিরgen_random_uuid()
জন্য ব্যবহার করতে পারেন ।
প্রথমে আপনার পোস্টগ্রিসে পিজক্রিপ্টো সক্ষম করুন ।
CREATE EXTENSION "pgcrypto";
সবেমাত্র একটি কলামের ডিফল্ট সেট করুন
DEFAULT gen_random_uuid()