Par défaut, le client psql collecte tous les résultats d'une requête avant de fournir le résultat, pour pouvoir formater la sortie (par exemple pour calculer la largeur optimale des colonnes)

Dans le cas des requêtes très importantes, cela engendre une utilisation mémoire qui peut faire échouer la requête (le processus est tué). En ordre de grandeur, la mémoire utilisée est environ 10 fois supérieure à la taille du fichier créé.

La parade consiste à utiliser la variable FETCH_COUNT à l'appel de psql. Extrait de la documentation officielle PostgreSQL :

    If this variable is set to an integer value > 0, the results of SELECT queries are fetched and displayed in groups of that many rows, rather than the default behavior of collecting the entire result set before display. Therefore only a limited amount of memory is used, regardless of the size of the result set. Settings of 100 to 1000 are commonly used when enabling this feature. Keep in mind that when using this feature, a query might fail after having already displayed some rows.

Ainsi, l'appel de psql avec les options suivantes permet de limiter l'utilisation mémoire, quelle que soit la taille de l'échantillon requêté :

psql -h serveur.domaine -d baseDeDonnees -U user -t -A -F";" --variable="FETCH_COUNT=10000" -F script.sql 

J'avais le problème suivant : Quand le type mime d'un pdf en ligne était mal servi, firefox me proposait d'ouvrir le fichier avec file-roller. Idem si je le téléchargeais puis que j'essayais de l'ouvrir depuis la fenêtre de téléchargements. Aucun problème en revanche depuis Nautilus

Le problème vient en fait du fichier .local/share/applications/mimeapps.list, qui associait content-type:octet-stream à file-roller. Une fois supprimée cette ligne, même sans redémarrer Firefox, le problème est résolu

find est très utile pour trouver des fichiers, mais aussi pour y appliquer des actions groupées avec l'option-exec

Pour découper une grande image en tuiles et calculer automatiquement le nom :

convert Grand.png -crop 667x667  -set filename:tile tuiles-%[fx:page.x/667].%[fx:page.y/667].png %[filename:tile]

Ici, Grand.png a une dimension de 1334x2001, donc on crée une matrice 3x2 :

1-0.0.png
1-1.0.png
1-0.1.png
1-1.1.png
1-0.2.png
1-1.2.png

Depuis que que mon Xperia GO est sous CM10, j'ai déjà beaucoup gagné en autonomie en supprimant un paquet d'apps et services inutils. Mais j'ai perdu queluqes options d'économie d'énergie Sony fort utiles. Ici, quelques notes pour éviter d'avoir toujours le wifi allumé.