s
Size: a a a
s
s
s
K
s
K
s
K
YS
K
L
CREATE UNLOGGED TABLE domain (
id SERIAL NOT NULL,
tld_id INTEGER NOT NULL,
letter VARCHAR(1) NOT NULL,
name_servers INTEGER[] NOT NULL,
created_at DATE DEFAULT NOW() NOT NULL,
updated_at DATE,
deleted_at DATE,
domain VARCHAR(70) NOT NULL,
PRIMARY KEY (id, letter)
) PARTITION BY LIST (letter);
CREATE UNLOGGED TABLE domain_letter_0 PARTITION OF domain FOR VALUES IN ('0');
...
CREATE UNLOGGED TABLE domain_letter_9 PARTITION OF domain FOR VALUES IN ('9');
CREATE UNLOGGED TABLE domain_letter_a PARTITION OF domain FOR VALUES IN ('a');
CREATE UNLOGGED TABLE domain_letter_b PARTITION OF domain FOR VALUES IN ('b');
...
CREATE UNLOGGED TABLE domain_letter_z PARTITION OF domain FOR VALUES IN ('z');L
conn = self.db.raw_connection()
with conn.cursor() as cur:
# https://www.psycopg.org/docs/cursor.html#cursor.copy_from
cur.copy_from(
self._bulk_domains,
'domain',
sep='\t',
columns=('tld_id', 'letter', 'name_servers', 'domain'),
)
conn.commit()s
conn = self.db.raw_connection()
with conn.cursor() as cur:
# https://www.psycopg.org/docs/cursor.html#cursor.copy_from
cur.copy_from(
self._bulk_domains,
'domain',
sep='\t',
columns=('tld_id', 'letter', 'name_servers', 'domain'),
)
conn.commit()L
s
DS
YS
CREATE UNLOGGED TABLE domain (
id SERIAL NOT NULL,
tld_id INTEGER NOT NULL,
letter VARCHAR(1) NOT NULL,
name_servers INTEGER[] NOT NULL,
created_at DATE DEFAULT NOW() NOT NULL,
updated_at DATE,
deleted_at DATE,
domain VARCHAR(70) NOT NULL,
PRIMARY KEY (id, letter)
) PARTITION BY LIST (letter);
CREATE UNLOGGED TABLE domain_letter_0 PARTITION OF domain FOR VALUES IN ('0');
...
CREATE UNLOGGED TABLE domain_letter_9 PARTITION OF domain FOR VALUES IN ('9');
CREATE UNLOGGED TABLE domain_letter_a PARTITION OF domain FOR VALUES IN ('a');
CREATE UNLOGGED TABLE domain_letter_b PARTITION OF domain FOR VALUES IN ('b');
...
CREATE UNLOGGED TABLE domain_letter_z PARTITION OF domain FOR VALUES IN ('z');s
CREATE UNLOGGED TABLE domain (
id SERIAL NOT NULL,
tld_id INTEGER NOT NULL,
letter VARCHAR(1) NOT NULL,
name_servers INTEGER[] NOT NULL,
created_at DATE DEFAULT NOW() NOT NULL,
updated_at DATE,
deleted_at DATE,
domain VARCHAR(70) NOT NULL,
PRIMARY KEY (id, letter)
) PARTITION BY LIST (letter);
CREATE UNLOGGED TABLE domain_letter_0 PARTITION OF domain FOR VALUES IN ('0');
...
CREATE UNLOGGED TABLE domain_letter_9 PARTITION OF domain FOR VALUES IN ('9');
CREATE UNLOGGED TABLE domain_letter_a PARTITION OF domain FOR VALUES IN ('a');
CREATE UNLOGGED TABLE domain_letter_b PARTITION OF domain FOR VALUES IN ('b');
...
CREATE UNLOGGED TABLE domain_letter_z PARTITION OF domain FOR VALUES IN ('z');s
s