Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 Re : Général » Jointures » 07/12/2015 15:19:05
D'accord je te remercie, je vais faire mes tests au pire des cas je reviens vers toi si quelque chose m'échappe encore.
Merci
#2 Re : Général » Jointures » 07/12/2015 13:32:46
Merci de ta réponse.
Les IP de la table dns peuvent correspondre pour les sources et destinations de la table log et des fois non. Maintenant à voir aussi si source et destination correspondent à chaque fois ou juste une sur les deux.
Je sais pas si ça t'éclaires plus?
#3 Général » Jointures » 07/12/2015 12:26:01
- psql_junior
- Réponses : 4
Bonjour,
Etant encore jeune novice en base de données, je viens vers vous pour un problème que je rencontre.
Dans le cadre d'une analyse de logs, je dispose d'une table dans laquelle avec les colonnes suivantes:
Hits | IP src | IP dst | Port dst | Appli | IP Protocol |
-----+-------+--------+---------+-------+-------------+
Hits correspond aux doublons
IP src et dst sont les IP sources et destinations
Port dst le port de destination
Application l'application utilisée
Et IP protocol, le protocole IP de l'application.
Je souhaite intégrer une sorte de "résolution DNS" en utilisant une autre table à côté pour contenant les colonnes suivantes:
IP address | Hostname |
-------------+------------+
Contenant environs 3500 hostnames qui peuvent être aussi bien des IP sources que destinations.
Je voyais le résultat de la manière suivantes si les adresses sources ou dest correspondent pour la première table
Hits | IP src | Host src | IP dst | Host dst | Port dst | Appli | IP Protocol |
-----+-------+----------+-------+----------+----------+------+--------------+
Les possibilités sont que les deux IP peuvent être résolues ou juste une des deux grâce à la 2ème table.
Donc dans un premier temps est ce possible ? Si non peut être avoir une piste dans ce sens la car pour l'heure j'avoue être un peu largé..
Si je n'ai pas été assez clair, n'hésitez pas je renseignais les infos manquantes et je vous remercie de l'attention que vous porterez à mon post.
Bonne journée à vous
#4 Re : Général » Requêtes COPY sans doublons » 23/10/2015 13:04:58
D'accord c'était pour être sur que je n'ai pas loupé une subtilité ou un post quelque part.
Merci bien en tout cas.
#5 Re : Général » Requêtes COPY sans doublons » 23/10/2015 12:21:40
D'accord donc recours à une table temporaire pour update la principale ?
#6 Général » Requêtes COPY sans doublons » 23/10/2015 11:26:18
- psql_junior
- Réponses : 4
Bonjour a tous,
Pour infos, je précise que je suis sur un DB 8.4.
Voilà un petit moment que je me heurte à un problème et ne trouve pas de solutions sur le forum ou le net. (Peut-être que je m'y prend mal aussi)
Je suis en charge de traiter les logs d'un réseau d'entreprise qui a été capturé dans le but de voir les différentes connexions et de fixer par la suite les règles du firewall de l'entreprise. Ces logs sont extraits sous la forme d'un document CSV, je le parse afin de ne prendre que les champs qui m'interessent. Je classe même déjà les doublons avant l'insertion dans la DB avec un compteur pour savoir les lignes identiques pour ne pas avoir du fichier trop volumineux.
Les logs sont extraits toutes les 15-20min sous forme d'un CSV pour une plage horaire de 20-30min. Du coup, je suis amené à faire plusieurs fois la requêtes COPY pour les insérer dans la DB.
Mais mon problème est le suivant à savoir que je ne trouve pas le moyen de faire les insertions dans la DB sans les doublons. Il y a souvent les mêmes lignes d'un CSV à l'autre.
Par conséquent, je souhaite savoir s'il y a possibilité de faire en sorte que les lignes identiques à chaque nouvelle insertion avec COPY soient ajoutées à mes lignes existantes dans la table et que la colonne "Hits" ( correspondant à mon compteur ) s'incrémente.
Petit schéma:
Hits | Source_address | Destination_address | Destination_Port | Application | IP_Protocol
-------+--------------------+------------------------+--------------------+-----------------------+-------------
2 | 10.10.31.231 | 10.10.31.232 | 0 | ping | icmp
2 | 10.10.31.231 | 10.10.31.232 | 6191 | unknown-tcp | tcp
2 | 10.10.31.232 | 10.10.31.231 | 0 | ping | icmp
8 | 10.10.31.232 | 10.10.31.231 | 6179 | unknown-udp | udp
2 | 10.10.31.232 | 10.10.31.231 | 6191 | unknown-tcp | tcp
236 | 10.1.140.3 | 10.195.242.245 | 0 | ping | icmp
10 |10.115.197.238 | 10.195.238.37 | 443 | incomplete | tcp
462 | 10.115.197.238 | 10.195.238.37 | 443 | ssl | tcp
7 | 10.1.200.225 | 10.195.241.157 | 5555 | web-browsing | tcp
2 | 10.1.200.225 | 10.195.242.245 | 80 | subversion-base | tcp
2 | 10.1.200.225 | 10.195.242.245 | 80 | subversion-uploading| tcp
4 | 10.1.200.225 | 10.195.255.25 | 9087 | incomplete | tcp
11 | 10.1.200.225 | 10.195.255.25 | 9087 | web-browsing | tcp
7 | 10.1.200.225 | 10.195.255.26 | 9087 | web-browsing | tcp
Voilà donc la forme de ma table. Donc imaginons j'ai un nouveau fichier de log trié de la même manière qui arrive si je fais un nouveau COPY, postgres va simplement me l'afficher à la suite du précédent mais ce n'est pas ce que je recherche. J'aimerais que s'il y a des lignes identiques elles s'ajoutent à celles présentes dans la table et que la colonne "Hits" s'incrémente.
J'espère avoir été le plus clair possible et vous remercie d'avance si vous pouvez m'éclairer. Je continue de chercher de mon côté et à faire des tests.
Bonne journée.
Pages : 1