06.09.2014 Views

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

© FUOC • 71Z799014MO 24 <strong>Bases</strong> <strong>de</strong> <strong>datos</strong> en PostgreSQL<br />

• Mediante una pipe enviamos la salida a un comando Unix:<br />

<strong>de</strong>mo=# select user \g | cat > /tmp/b.txt<br />

• Mediante la or<strong>de</strong>n ‘\o’ se pue<strong>de</strong> indicar dón<strong>de</strong> <strong>de</strong>be ir la salida <strong>de</strong> las sentencias<br />

SQL que se ejecuten en a<strong>de</strong>lante:<br />

<strong>de</strong>mo=# \o /tmp/sentencias.txt<br />

<strong>de</strong>mo=# select user;<br />

<strong>de</strong>mo=# select 1+1+4;<br />

<strong>de</strong>mo=# \o<br />

<strong>de</strong>mo=# select 1+1+4;<br />

?column?<br />

----------<br />

6<br />

(1 row)<br />

<strong>de</strong>mo=#<br />

Notación<br />

A la or<strong>de</strong>n ‘\o’ se le <strong>de</strong>be especificar<br />

un fichero o bien un comando<br />

que irá recibiendo<br />

los resultados mediante<br />

una pipe.<br />

Cuando se <strong>de</strong>see volver a la salida<br />

estándar STDOUT, simplemente<br />

se dará la or<strong>de</strong>n ‘\o’ sin<br />

ningún parámetro.<br />

• Se pue<strong>de</strong> solicitar la ejecución <strong>de</strong> un solo comando y terminar inmediatamente<br />

mediante la siguiente forma:<br />

$ psql -d <strong>de</strong>mo -c “comando sql”<br />

• Se pue<strong>de</strong> especificar el formato <strong>de</strong> salida <strong>de</strong> los resultados <strong>de</strong> una sentencia.<br />

Por <strong>de</strong>fecto, psql los muestra en forma tabular mediante texto. Para cambiarlo,<br />

se <strong>de</strong>be modificar el valor <strong>de</strong> la variable interna ‘format’ mediante la or<strong>de</strong>n<br />

‘\pset’. Veamos, en primer lugar, la especificación <strong>de</strong>l formato <strong>de</strong> salida:<br />

<strong>de</strong>mo=# \pset format html<br />

Output format is html.<br />

<strong>de</strong>mo=# select user;<br />

<br />

<br />

current_user<br />

<br />

<br />

postgres<br />

<br />

<br />

(1 row)<br />

<br />

<strong>de</strong>mo=#<br />

La salida <strong>de</strong>l fichero<br />

Al haber especificado que se<br />

quiere la salida en html, la podríamos<br />

redirigir a un fichero<br />

(ya hemos visto cómo hacerlo)<br />

y generar un archivo html que<br />

permitiese ver el resultado<br />

<strong>de</strong> la consulta mediante un navegador<br />

web convencional.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!