-
Notifications
You must be signed in to change notification settings - Fork 17
Primary key (id) ranges
Mark Overmeer edited this page Feb 13, 2019
·
1 revision
As usual for SQL databases, most tables contain a sequence id. Be default, they all count from 1. In Taranis (since 3.4), we give each table a separate range. Sequences are 64 bits, so there is enough number space to give each their own billion.
In Taranis, some tables are quite complex referencing via ids from a single column to different tables. Also, it adds power to the constraint checking.
Old installations may still use ids which all start at "1". You may load an older dataset in a new database schema, so we cannot enforce a minimal value.
- To avoid the need to count digits in (for instance) 100000000 (is this '1'-billion or '10'-billion?), we will not assign those blocks.
- Do not reuse ranges were freed: the identifier number space is large enough.
- When you develop code which will probably end-up in main-stream Taranis, then request your range early. When your tables probably stay for local use, then use number ranges above 2010000000.
00000000 -- not used for new installations
10000000 advisory_linked_items_id_seq
20000000 calling_list_id_seq
30000000 category_id_seq
40000000 cluster_id_seq
50000000 collector_id_seq
60000000 constituent_group_id_seq
70000000 constituent_individual_id_seq
80000000 constituent_publication_id_seq
90000000 constituent_role_id_seq
100000000 -- not used
110000000 constituent_type_id_seq
120000000 damage_description_id_seq
130000000 email_item_id_seq
140000000 entitlement_id_seq
150000000 errors_id_seq
160000000 import_issue_id_seq
170000000 import_photo_id_seq
180000000 import_software_hardware_id_seq
190000000 item_id_seq
200000000 -- not used
210000000 membership_id_seq
220000000 phish_id_seq
230000000 publication_id_seq
240000000 publication2constituent_id_seq
250000000 publication_advisory_id_seq
260000000 publication_advisory_forward_id_seq
260000000 publication_attachment_id_seq
270000000 publication_endofday_id_seq
280000000 publication_endofweek_id_seq
290000000 publication_template_id_seq
300000000 -- not used
310000000 publication_type_id_seq
320000000 role_id_seq
330000000 role_right_id_seq
340000000 search_id_seq
350000000 soft_hard_usage_id_seq
360000000 software_hardware_id_seq
370000000 software_hardware_cpe_import_id_seq
380000000 sources_id_seq
390000000 statistics_analyze_id_seq
400000000 -- not used
410000000 statistics_assess_id_seq
420000000 statistics_collector_id_seq
430000000 statistics_database_id_seq
440000000 tag_id_seq
450000000 user_action_id_seq
460000000 user_role_id_seq
470000000 dossier_id_seq
480000000 dossier_note_id_seq
490000000 dossier_note_url_id_seq
500000000 -- not used
510000000 dossier_note_ticket_id_seq
520000000 dossier_note_file_id_seq
530000000 dossier_item_id_seq
540000000 wordlist_id_seq
550000000 source_wordlist_id_seq
560000000 feeddigest_id_seq
570000000 cve_template_id_seq
580000000 report_todo_id_seq
590000000 report_special_interest_id_seq
600000000 -- not used
610000000 report_contact_log_id_seq
620000000 report_incident_log_id_seq
630000000 publication_endofshift_id_seq
640000000 stream_id_seq
650000000 announcement_id_seq
660000000 publication_advisory_website_id_seq # added in 3.6
2010000000 <your own ranges>
images/taranis-logo-medium.png ©NCSC-NL, License: EUPL-1.2