Non, il n'y a pas de moyen direct de le faire. Et il y a une raison à cela - chaque requête doit répertorier tous les champs dont elle a besoin dans l'ordre (et le format, etc.) dont elle a besoin, rendant ainsi l'ordre des colonnes dans une table insignifiant.
Si vous avez vraiment besoin de le faire, je peux penser à une solution :
- vider et sauvegarder la description de la table en question (en utilisant
pg_dump --schema-only --table=<schema.table> ...
) - ajoutez la colonne souhaitée à l'endroit souhaité dans la définition enregistrée
- renommez la table dans la définition enregistrée afin de ne pas entrer en conflit avec le nom de l'ancienne table lorsque vous essayez de la créer
- créer la nouvelle table en utilisant cette définition
- Remplir la nouvelle table avec les données de l'ancienne table en utilisant 'INSERT INTO
<new_table>
SELECT champ1, champ2,<default_for_new_field>
, champ3,... FROM<old_table>
'; - renommer l'ancienne table
- renommer la nouvelle table avec le nom d'origine
- supprimez éventuellement l'ancienne table renommée après vous être assuré que tout va bien