hstore and uuid are two data types provided by PostgreSQL:
hstore
- Description:
hstoreis a key-value store within a single PostgreSQL column. It allows you to store sets of key-value pairs in a single field. - Use Case: It is useful for storing semi-structured data, where the schema may vary between rows. For example, you can store attributes of a product without defining a fixed schema.
Example:
CREATE TABLE products (
id SERIAL PRIMARY KEY,
attributes HSTORE
);
INSERT INTO products (attributes) VALUES ('color => red, size => M');
uuid
- Description:
uuidstands for Universally Unique Identifier. It is a 128-bit number used to uniquely identify information in a database. - Use Case: It is often used as a primary key in tables where a unique identifier is required, especially in distributed systems where uniqueness across different databases is crucial.
Example:
CREATE TABLE users (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
username VARCHAR(50)
);
INSERT INTO users (username) VALUES ('john_doe');
Both data types enhance the flexibility and uniqueness of data management in PostgreSQL.
