@@ -57,11 +57,10 @@ CREATE INDEX i_rosteru_jid ON rosterusers USING btree (jid);
57
57
CREATE TABLE rostergroups (
58
58
username text NOT NULL ,
59
59
jid text NOT NULL ,
60
- grp text NOT NULL
60
+ grp text NOT NULL ,
61
+ PRIMARY KEY (username, jid)
61
62
);
62
63
63
- CREATE INDEX pk_rosterg_user_jid ON rostergroups USING btree (username, jid);
64
-
65
64
CREATE TABLE sr_group (
66
65
name text NOT NULL ,
67
66
opts text NOT NULL ,
@@ -82,7 +81,7 @@ CREATE INDEX i_sr_user_grp ON sr_user USING btree (grp);
82
81
CREATE TABLE spool (
83
82
username text NOT NULL ,
84
83
xml text NOT NULL ,
85
- seq BIGSERIAL ,
84
+ seq BIGSERIAL PRIMARY KEY ,
86
85
created_at TIMESTAMP NOT NULL DEFAULT now()
87
86
);
88
87
@@ -95,7 +94,7 @@ CREATE TABLE archive (
95
94
bare_peer text NOT NULL ,
96
95
xml text NOT NULL ,
97
96
txt text ,
98
- id BIGSERIAL ,
97
+ id BIGSERIAL PRIMARY KEY ,
99
98
kind text ,
100
99
nick text ,
101
100
created_at TIMESTAMP NOT NULL DEFAULT now()
@@ -174,7 +173,7 @@ CREATE TABLE privacy_list (
174
173
CREATE UNIQUE INDEX i_privacy_list_username_name ON privacy_list USING btree (username, name);
175
174
176
175
CREATE TABLE privacy_list_data (
177
- id bigint REFERENCES privacy_list(id) ON DELETE CASCADE ,
176
+ id bigint PRIMARY KEY REFERENCES privacy_list(id) ON DELETE CASCADE ,
178
177
t character(1 ) NOT NULL ,
179
178
value text NOT NULL ,
180
179
action character(1 ) NOT NULL ,
@@ -186,8 +185,6 @@ CREATE TABLE privacy_list_data (
186
185
match_presence_out boolean NOT NULL
187
186
);
188
187
189
- CREATE INDEX i_privacy_list_data_id ON privacy_list_data USING btree (id);
190
-
191
188
CREATE TABLE private_storage (
192
189
username text NOT NULL ,
193
190
namespace text NOT NULL ,
@@ -228,15 +225,14 @@ CREATE UNIQUE INDEX i_pubsub_node_tuple ON pubsub_node USING btree (host, node);
228
225
CREATE TABLE pubsub_node_option (
229
226
nodeid bigint REFERENCES pubsub_node(nodeid) ON DELETE CASCADE ,
230
227
name text NOT NULL ,
231
- val text NOT NULL
228
+ val text NOT NULL ,
229
+ PRIMARY KEY (nodeid, name)
232
230
);
233
- CREATE INDEX i_pubsub_node_option_nodeid ON pubsub_node_option USING btree (nodeid);
234
231
235
232
CREATE TABLE pubsub_node_owner (
236
- nodeid bigint REFERENCES pubsub_node(nodeid) ON DELETE CASCADE ,
233
+ nodeid bigint PRIMARY KEY REFERENCES pubsub_node(nodeid) ON DELETE CASCADE ,
237
234
owner text NOT NULL
238
235
);
239
- CREATE INDEX i_pubsub_node_owner_nodeid ON pubsub_node_owner USING btree (nodeid);
240
236
241
237
CREATE TABLE pubsub_state (
242
238
nodeid bigint REFERENCES pubsub_node(nodeid) ON DELETE CASCADE ,
@@ -329,11 +325,10 @@ CREATE TABLE caps_features (
329
325
node text NOT NULL ,
330
326
subnode text NOT NULL ,
331
327
feature text ,
332
- created_at TIMESTAMP NOT NULL DEFAULT now()
328
+ created_at TIMESTAMP NOT NULL DEFAULT now(),
329
+ PRIMARY KEY (node, subnode, feature)
333
330
);
334
331
335
- CREATE INDEX i_caps_features_node_subnode ON caps_features USING btree (node, subnode);
336
-
337
332
CREATE TABLE sm (
338
333
usec bigint NOT NULL ,
339
334
pid text NOT NULL ,
0 commit comments