Twilo: psql: nur bestimmte Spalten auzsgeben

Beitrag lesen

Hallo,

mir fallen zwei möglichkeiten ein, entweder du benutzt die aggregatfunktion ähnlich dem group_concat von mysql. in oracle habe ich sie mir "gebastelt", keine ahnung ob das auch unter postgre geht.

ober aber du klebst die einzelnen zeilen mit den jeweiligen spaltennamen in deiner funktion aneinander (concat), bevor du die ausgabe machst.

ich hab es jetzt erst einmal wie folgt gelöst

function xyz(){  
  for table in $TABLES  
  do  
    spalten=`psql -h ${DBHOST} -d ${DBNAME} -U ${DBUSER} -c "SELECT array_to_string( array( SELECT attname FROM pg_attribute, pg_class WHERE attrelid = pg_class.oid AND relname='${table}' AND attnum > 0 AND attname not in ('gueltigab', 'ungueltigab', 'zuletzt_geaendert' ,'eingetragen') ), ', ' )" |grep ,`  
    psql -h ${DBHOST} -d ${DBNAME} -U ${DBUSER} -c "SELECT ${spalten} FROM ${table} ORDER BY ${spalten};" > /tmp/${table}.txt  
  done  
}

optimal wäre es, wenn ich die Spaltenabfrage im unteren SQL-Statement mit einbauen könnte.

mfg
Twilo