Größen- / Längenbeschränkung des Array-Typs in PostgreSQL

8

Ich arbeite ein Webprojekt mit PostgreSQL als Datenbanken. Ich versuche, eine Struktur der Web-Datenbanken zu erstellen, die eine Vektorraummodelltabelle enthalten. Ich habe eine Tabelle mit dem Attribut terms und docId[] erstellt, wobei docId die Dokument-ID des Begriffs ist. Typ von docId ist Ganzzahl []. So kann ich einen Begriff mit der Dokumentenliste eingeben, der den Begriff in einem einzigen Array enthält. Aber der Array-Begriff der docId enthält möglicherweise viele Einträge.

Also meine Frage ist: Wie viele maximale Größe von Array eine Dimmension in Postgres?

danke:)

    
aditsud 21.04.2015, 07:46
quelle

2 Antworten

8

Auf Postgres-Arrays gibt es keine Größenbeschränkung . Es muss Grenzen für die Zeilen- oder Spaltengröße geben, aber das würde in den Millionen von Einträgen laufen.

Ein SQL-Weg, um einen Begriff mit einem Dokument in Beziehung zu setzen, ist eine 1 zu viele Relation. Dies wird wie folgt implementiert:

%Vor%

Die Spalte document_id in der Tabelle term wird als Fremdschlüssel bezeichnet.

    
Andomar 21.04.2015, 07:59
quelle
5

Ich habe keine Begrenzung der Anzahl der Elemente im Array gefunden, aber es gibt eine Feldgröße. Die maximale Feldgröße in PostgreSQL beträgt 1 GB, also sind es etwa 268435456 Elemente im Array. Seien Sie sich bewusst, dass die Indexierung eines solchen Arrays oder die Suche danach wahrscheinlich nutzlos wäre.

    
partlov 21.04.2015 07:58
quelle

Tags und Links