Je recherche un moyen simple de sélectionner toutes les colonnes sauf une en psql.
Avec psql
je veux dire la ligne de commande interactive.
Je serais heureux avec un outil qui se développe *
en une liste de noms de colonnes cités. Ensuite, je pourrais retirer la colonne à retirer à la main.
Ma question concerne simplement l'utilisation interactive de psql. Ce n'est pas un doublon de questions de personnes mécontentes du standard sql et qui veulent exécuter quelque chose comme "select * -foo".
postgresql
psql
guettli
la source
la source
information_schema
via une fonction pl / pgsql pour générer une liste assez facilement, mais de cette façon, ce serait deux requêtes.desc
commande danspsql
Réponses:
Pour obtenir la liste des colonnes dans l'ordre par défaut, sans la mauvaise colonne:
Ou tout simplement
WHERE attrelid = 'mytable'::regclass
si vous faites confiance au chemin de recherche pour résoudre le bon schéma.quote_ident()
ajoute des guillemets si nécessaire.J'ai posé la même question en 2007 sur pgsql-general . C'était Postgres 8.2 à l'époque. Doux souvenirs ...
En relation:
la source
\dq thetable bad_column
.q
pour la tâche. Peut-être une option générale à toute la famille de\d
commandes pour afficher une liste nue de noms concaténés? Comme\d- tbl
(mnémonique: l'opposé de\d+
, qui montre plus de détails). Cela permettrait d'obtenir essentiellement n'importe quelle liste d'objets nus. Les tableaux dans un schéma:\dt- public.*
, les fonctions commençant par « f_foo »:\df- f_foo*
etc. - ou des colonnes dans un tableau:\d- mytbl
. Similaire à ce que fait la commande shellls
...Je pense avoir trouvé ce que vous cherchez mais je ne l'ai pas testé moi-même.
Il existe un logiciel appelé SequelPro qui vous permettrait de sélectionner les champs d'une table donnée mais ce n'est que pour MySQL. Veuillez lire ci-dessous quelque part au milieu de la page:
Il existe un autre logiciel appelé PSequel qui ne fonctionne que sur Mac et prétend qu'il est de type SequelPro conçu pour Postgres:
J'espère que cela t'aides.
la source