Outils de bases de données et SQL

Analyseur de tableaux PostgreSQLet inspection des intervalles

Collez une valeur brute de tableau ou d’intervalle pour en vérifier la structure sans exécuter de requête.

Analyseur de tableaux PostgreSQL

Valeur PostgreSQL brute

Rapport JSON

Les valeurs sont traitées dans ce navigateur, sans envoi, connexion à une base ni requête réseau.

Options de saisie

Collez la valeur sans apostrophes SQL externes ni conversion de type. Les éléments hors NULL restent des chaînes ; les champs d’intervalle restent séparés.

65 536 caractères · 10 000 éléments · 6 dimensions · secondes : 6 décimales maximum

Dimensions : 2 · éléments : 6 · NULL : 1

Un analyseur de tableaux PostgreSQL sert à comprendre les chaînes entourées d’accolades renvoyées par un pilote ou un export. Couper simplement sur les virgules devient incorrect dès qu’un élément contient lui-même une virgule ou des guillemets échappés.

L’exemple distingue NULL, le texte "NULL" et une chaîne vide. Pour un intervalle, choisissez d’abord le format de sortie de la base source : un signe moins ne s’applique pas toujours aux mêmes champs.

Pourquoi cet analyseur de tableaux PostgreSQL ?

Conserver les indices d’origine

Cet analyseur de tableaux PostgreSQL affiche les valeurs imbriquées ainsi que la longueur et les bornes de chaque dimension. Un indice initial nul ou négatif reste dans les métadonnées, même si un tableau en JSON ne représente pas directement les indices PostgreSQL.

Deux rangées de trois cellules conservent leur regroupement ; une valeur absente se distingue des cellules de texte entre guillemets

Ne pas confondre calendrier et durée écoulée

Un mois n’a pas un nombre fixe de secondes. L’intervalle PostgreSQL garde donc trois champs distincts : mois, jours et microsecondes. Les signes différents restent visibles, sans conversion fondée sur une longueur de mois supposée.

Un intervalle réparti entre un calendrier mensuel, une case de jour et une horloge précise

Les points à vérifier avant l’export

01

Changer de mode sans remplacer le texte

Choisissez tableau ou intervalle dans les options sous les éditeurs. Le changement conserve votre saisie et applique d’autres règles. Le bouton d’exemple présente le contenu correspondant au mode et son nombre de caractères avant tout remplacement.

02

Lire les bornes et les signes

La première dimension de l’exemple commence à zéro. Vérifiez dimensions et nullCount dans le rapport. En sql_standard, un seul signe moins initial peut aussi porter sur les jours et l’heure qui suivent ; sélectionnez explicitement le format source.

03

Maîtriser le rafraîchissement du résultat

Le mode automatique attend 350 ms après la dernière modification. Désactivez-le pour utiliser le bouton ou Ctrl/Cmd+Enter. Les modifications bloquent immédiatement l’export. Les longs rapports s’affichent par 100 lignes, mais la copie et le téléchargement restent complets.

Lire la structure et les valeurs exactes

Aucune déduction du type des éléments

Les valeurs telles que 001 ou un très grand entier restent des chaînes. Le tableau littéral n’indique pas le type de la colonne. Les tableaux multidimensionnels doivent être rectangulaires : des rangées de longueurs différentes déclenchent une erreur, sans ajout de NULL ni aplatissement.

Guillemets et échappements interprétés ensemble

Le lecteur reconnaît les virgules protégées, guillemets échappés, barres obliques inverses et espaces protégés. Seul NULL sans guillemets ni échappement devient JSON null. "NULL", un NULL échappé et une chaîne vide restent des textes distincts.

Quatre formats et des calculs entiers

Choisissez postgres, postgres_verbose, sql_standard ou iso_8601. Les champs calendaires doivent être entiers ; les secondes peuvent avoir six décimales. Les trois champs exportés sont calculés exactement puis écrits en chaînes décimales pour éviter toute perte de précision.

Syntaxe acceptée et limites

Fournir la valeur intérieure, sans SQL
Saisissez {...}, éventuellement précédé de bornes, ou un intervalle seul. Les instructions SQL, constructeurs ARRAY, apostrophes externes, E-strings, conversions de type et qualificatifs de champ sont refusés. Aucun accès à une base, import de fichier ou chargement d’URL n’est proposé.
Vérification de structure, pas de type
Le séparateur par défaut est la virgule ; le point-virgule convient aux tableaux de style box. Les bornes doivent correspondre à la forme réelle. Les tableaux imbriqués vides deviennent un tableau vide sans dimension. OID, séparateurs personnalisés et array_nulls=off ne sont pas interprétés.
Une grammaire d’intervalle volontairement limitée
Utilisez une écriture proche de la sortie du format choisi. Les fractions de mois, jours, heures ou minutes, l’infini, la notation ISO alternative, les unités inconnues et les nombres non nuls sans unité sont refusés. Les secondes dépassant six décimales ne sont pas arrondies. Pas de total en secondes ni de conversion Temporal.
Des limites sans résultat tronqué
Une saisie peut contenir 65 536 caractères JavaScript, 10 000 éléments et six dimensions au maximum. Les mois et jours doivent tenir dans un entier signé de 32 bits, les microsecondes dans 64 bits. Toute erreur bloque l’export au lieu de livrer un résultat partiel.

Questions sur cet analyseur de tableaux PostgreSQL

Pourquoi PostgreSQL signale-t-il malformed array literal ?

Il manque souvent une accolade ou un guillemet, un séparateur traîne à la fin, ou la saisie contient encore l’enveloppe SQL. Le message indique la ligne et la colonne. Collez uniquement la valeur entre accolades et vérifiez les guillemets et échappements autour de la ligne signalée.

Comment PostgreSQL traite-t-il NULL dans un tableau ?

NULL non cité et non échappé devient JSON null, quelle que soit sa casse. "NULL" est du texte et "" une chaîne vide. nullCount indique le nombre d’éléments absents. Une valeur SQL NULL seule n’est pas un tableau littéral accepté ici ; un tableau vide s’écrit {}.

Pourquoi l’insertion d’un tableau multidimensionnel provoque-t-elle malformed array literal ?

Chaque dimension doit avoir des étendues identiques. {{a,b},{c}} contient des rangées de deux et un éléments : la valeur est donc refusée. Cet outil n’ajoute pas de cellule et n’aplatit pas les rangées. Corrigez la source puis contrôlez aussi les bornes éventuellement déclarées.

Comment échapper les guillemets doubles dans les tableaux pour PostgreSQL COPY ?

Le codage du champ COPY ou CSV extérieur est une couche différente de la syntaxe du tableau. Ici seule la couche intérieure est analysée. Dans un élément cité, placez une barre oblique inverse avant chaque guillemet double ou barre oblique inverse. Décodez l’enveloppe CSV ou SQL avant de coller.

Pourquoi la conversion d’un intervalle PostgreSQL en secondes donne-t-elle des valeurs inattendues ?

Les mois ont des longueurs différentes et un jour calendaire traversant un changement d’heure ne correspond pas forcément à 24 heures écoulées. Une conversion forfaitaire peut donc surprendre. Ce rapport conserve les trois champs ; utilisez des dates précises si vous devez calculer un temps réellement écoulé.

Comment représenter 1 day 01:30:00 sous la forme 25:30:00 ?

Une requête SQL externe peut reformater l’affichage, mais elle déplace alors les jours vers les heures. Ici 1 day 01:30:00 conserve days="1" et microseconds="5400000000". La valeur 25:30:00 seule donne days="0" et microseconds="91800000000", ce qui garde la distinction.

Une autre question ?

Vérifier la prochaine valeur

Cet analyseur de tableaux PostgreSQL permet de relire les bornes et les éléments. Pour un intervalle, choisissez le format et comparez les trois champs avant d’exporter le JSON.

Une seule valeur par analyse ; aucune réparation automatique.