<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=DAI-C8-EC%3A_PostgreSQL%3A_Instal.laci%C3%B3_i_configuraci%C3%B3._Consola</id>
	<title>DAI-C8-EC: PostgreSQL: Instal.lació i configuració. Consola - Historial de revisió</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=DAI-C8-EC%3A_PostgreSQL%3A_Instal.laci%C3%B3_i_configuraci%C3%B3._Consola"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=DAI-C8-EC:_PostgreSQL:_Instal.laci%C3%B3_i_configuraci%C3%B3._Consola&amp;action=history"/>
	<updated>2026-08-30T13:03:38Z</updated>
	<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=DAI-C8-EC:_PostgreSQL:_Instal.laci%C3%B3_i_configuraci%C3%B3._Consola&amp;diff=248519&amp;oldid=prev</id>
		<title>Joan: /* Entrega */</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=DAI-C8-EC:_PostgreSQL:_Instal.laci%C3%B3_i_configuraci%C3%B3._Consola&amp;diff=248519&amp;oldid=prev"/>
		<updated>2012-01-17T18:57:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Entrega&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Teoria=&lt;br /&gt;
[[UD6_DAI-C8-EC._PostgreSQL:_Instal.laci%C3%B3_i_configuraci%C3%B3._Consola]]&lt;br /&gt;
=usuaris de Windows=&lt;br /&gt;
A l'hora de seguir la pràctica, els usuaris de Windows es trobaran unes quantes diferències. El primer dubte és com executar psql (que a Windows és psql.exe). Hem de saber on es troba. Quan fer inicio de programes &amp;gt; psql no estem executant psql.exe, sinó un script .bat que el crida.&lt;br /&gt;
&lt;br /&gt;
'''runsql.bat''' (C:\Program Files\PostgreSQL\9.1\scripts\runpsql.bat)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
&lt;br /&gt;
REM PostgreSQL server psql runner script for Windows&lt;br /&gt;
REM Dave Page, EnterpriseDB&lt;br /&gt;
&lt;br /&gt;
SET server=localhost&lt;br /&gt;
SET /P server=&amp;quot;Server [%server%]: &amp;quot;&lt;br /&gt;
&lt;br /&gt;
SET database=postgres&lt;br /&gt;
SET /P database=&amp;quot;Database [%database%]: &amp;quot;&lt;br /&gt;
&lt;br /&gt;
SET port=5432&lt;br /&gt;
SET /P port=&amp;quot;Port [%port%]: &amp;quot;&lt;br /&gt;
&lt;br /&gt;
SET username=postgres&lt;br /&gt;
SET /P username=&amp;quot;Username [%username%]: &amp;quot;&lt;br /&gt;
&lt;br /&gt;
for /f &amp;quot;delims=&amp;quot; %%a in ('chcp ^|find /c &amp;quot;932&amp;quot;') do @ SET CLIENTENCODING_JP=%%a&lt;br /&gt;
if &amp;quot;%CLIENTENCODING_JP%&amp;quot;==&amp;quot;1&amp;quot; SET PGCLIENTENCODING=SJIS&lt;br /&gt;
if &amp;quot;%CLIENTENCODING_JP%&amp;quot;==&amp;quot;1&amp;quot; SET /P PGCLIENTENCODING=&amp;quot;Client Encoding [%PGCLIENTENCODING%]: &amp;quot;&lt;br /&gt;
&lt;br /&gt;
REM Run psql&lt;br /&gt;
&amp;quot;C:\Program Files\PostgreSQL\9.1\bin\psql.exe&amp;quot; -h %server% -U %username% -d %database% -p %port%&lt;br /&gt;
&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Fixar-se bé quina és la ruta per defecte a Windows de l'executable: &amp;lt;pre&amp;gt;&lt;br /&gt;
C:\Program Files\PostgreSQL\9.1\bin\psql.exe.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
En la carpeta bin/ també es troben altres executables que pots necessitar com ara createdb.exe, createuser.exe&lt;br /&gt;
&lt;br /&gt;
Per tant haurem de fer&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd C:\Program Files\PostgreSQL\9.1\bin\psql.exe&lt;br /&gt;
psql.exe -h localhost -p 5432 -U postgres -d postgres&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i ara ja podem executar psql tal com s'ha vist a classe.&lt;br /&gt;
=Feina a realitzar=&lt;br /&gt;
El més bàsic de psql és:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
postgres# \?&lt;br /&gt;
postgres# \h&lt;br /&gt;
postgres# \dt (per veure les taules)&lt;br /&gt;
postgres# \c (per connectar-te a una altra base de dades i/o amb un altre usuari)&lt;br /&gt;
postgres# \! executar una comanda del SO&lt;br /&gt;
postgres# \echo [cadena] -&amp;gt; sortida estàndard&lt;br /&gt;
postgres# \qecho [cadena] -&amp;gt; sortida de consultes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
proves que s'han de fer:&lt;br /&gt;
* a) psql -h localhost -p 5432 -U postgres -d postgres&lt;br /&gt;
* b) psql -h localhost -p 5432 -U pepito -d pepito&lt;br /&gt;
* c) psql -h 192.168.0.10 -p 5432 -U dai2aXX -d dai2aXX (password: dai)&lt;br /&gt;
&lt;br /&gt;
En l'apartat b), connectat amb l'usuari postgres a la bd postgres, has de crear un usuari que es digui pepito, has de crear la base de dades pepito, i has de donar tots els permisos a l'usuari pepito sobre la base de dades pepito. Una altra possibilitat seria que pepito fos el propietari de pepito, però això només es podria fer si pepito tingués permisos per crear bases de dades, que d'entrada no té.&lt;br /&gt;
&lt;br /&gt;
Interessant l'ús de la comanda COPY (és una comanda SQL, no psql):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
restaurant=# COPY (select * from cambrer) TO '/home/joan/cambrer.txt';&lt;br /&gt;
COPY 5&lt;br /&gt;
restaurant=# \!cat /home/joan/cambrer.txt&lt;br /&gt;
1       Pere&lt;br /&gt;
2       Maria&lt;br /&gt;
3       TomÃ s&lt;br /&gt;
4       Jaume&lt;br /&gt;
5       Eric&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Entrega=&lt;br /&gt;
La idea és utilitzar un script d'entrada per executar les comandes, i un fitxer de sortida per veure els resultats. Existeixen les comandes \i, \o, \w i \copy des del prompt de psql&amp;gt;. (La funcionalitat que teníem amb el SPOOL de l'Oracle encara no s'ha aconseguit)&lt;br /&gt;
&lt;br /&gt;
*http://www.mail-archive.com/dbi-users@perl.org/msg32423.html&lt;br /&gt;
Opció \o:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 1) it writes the results *only* to the file, not the screen.&lt;br /&gt;
 2) it affects only the results, not the commands.&lt;br /&gt;
&lt;br /&gt;
You should be able to get around the first limitation by invoking &lt;br /&gt;
\o |tee file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Si volem executar un fitxer de comandes des del SO, invocant a psql, utilitzarem l'opció -f:&lt;br /&gt;
*http://soleil4716.wordpress.com/2010/09/03/saving-postgresql-query-output-to-file/&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ psql -U postgres -h localhost -d restaurant -f /ruta/script.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
El normal és que l'arxiu script.sql comenci amb un&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
\w /ruta/sortida.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i que tingui verbositat (amb \echo o \qecho)&lt;br /&gt;
&lt;br /&gt;
Si volem executar una comanda SQL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ psql -U postgres -h localhost -d restaurant -c 'select * from cambrer;'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Autor}}, 2009-2012&lt;/div&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
</feed>