le fichier résultant à 2 902 297 lignes , étonnant non .
Pas plus que ça, puisque comme l'a écrit Marc plus haut, le nombre de lignes d'un fichier CSV peut être supérieur au nombre d'enregistrements, vu qu'un enregistrement peut s'étaler sur plusieurs lignes.
Le format CSV est décrit ici: https://tools.ietf.org/html/rfc4180
et Postgres suit à peu près cette spécification, sauf pour le CRLF de fin de ligne qui peut être un LF seul.
Quand je rentre le même fichier CSV avec une requête SQL commande COPY , j'ai avec COUNT sur la table 1 554 136 lignes , mais quand j'exporte ma table en fichier CSV , le fichier résultant à 2 902 297 lignes , étonnant non .
J'ai fait ça pour plusieurs fichiers et à chaque fois , quand j'importe avec COPY je n'ai pas le même nombre de lignes dans la table et le fichier CSV .
Bon sur ce , je vais passer à autre chose .
]]>Pour le fichier CSV, vous êtes sûr d'avoir vérifié l'intégralité des lignes ?
Les caractères non-ascii ne posent pas de problème, tant que l'encodage de votre fichier est le même que celui de la session (ou que vous avez passé l'encoding à COPY). Vous pouvez voir l'encoding de la session avec SHOW client_encoding... aucune idée de ce que fait pgadmin4 de ce point de vue...
"ERREUR: la ligne index requiert 1298240 octets, la taille maximum est 8191".
=> Vous avez des champs trop gros pour être indexés. J'imagine que c'est une chaîne de caractères que vous essayez d'indexer ? Si oui, il y a une limite (elle est même plus basse en fait). On a quelques moyens de contournement, mais c'est à voir dans un second temps.
D'autre part à partir d'une table vide sans index quand j'ai voulu importer un fichier .csv avec 2 902 593 lignes il a été importer que 1 554 138 lignes sans message d'erreur , bizarre non .
Non, pas forcément, on peut très bien avoir des retours de chariots dans un CSV. Un enregistrement de ce genre par exemple:
1;"bonjour
les copains"
2;toto
3 lignes, 2 enregistrements.
]]>D'autre part à partir d'une table vide sans index quand j'ai voulu importer un fichier .csv avec 2 902 593 lignes il a été importer que 1 554 138 lignes sans message d'erreur , bizarre non .
Texte de mon SQL : COPY nom(id,nom_art) FROM '/home/notill/xaa_8.csv' DELIMITER ',' CSV ;
A la création d'une table y a t'il des limites à lever ?
J'ai fait tout ça à partir de pgadmin4 , Postgresql 12.1 .
Merci d'avance pour les réponses .