SlideShare a Scribd company logo
1 of 14
Download to read offline
PostgreSQL: utilització i administracióPostgreSQL: utilització i administració
Tema 1: Instal·lació del client de PostgreSQL
PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri...
1 de 14 18/04/16 12:35
Objectius i coneixements previs
Objectius
La primera part del curset ens connectarem a PostgreSQL com a clients, en l'arquitectura client-servidor. Per tant l'únic objectiu d'aquest tema és la instal·lació d'alguna eina que ens
permeta connectar com a clients a un determinat servidor.
Concretament seran 3 les eines des de les quals connectar, però no caldrà utilitzar les tres. Aquestes eines són:
psql
pgAdmin
PhpPgAdmin
L'eina recomanada serà PgAdmin. Per tant l'objectiu bàsic d'aquest tema serà instal·lar aquesta eina. També veurem el funcionament de les altres dues, però no insistirem en elles en
aquesta primera part del curset.
PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri...
2 de 14 18/04/16 12:35
1. Instal·lació del client de PostgreSQL: pgAdmin III
Per a poder connectar amb el servidor PostgreSQL ens fa falta el client de PostgreSQL.
Podríem instal·lar-ne un de molt senzill que únicament tinga un programa en forma línia de comandos a més de les llibreries nacassàries. Els programes de línia de comandos són similars a una
terminal ("Símbolo de sistema", en Windows) però en compte de posar qualsevol comando de Sistema Operatiu, escriurem sentències SQL, ens contestarà i estarà esperant a que introduïm una
altra.
Però aquest tipus de programes són molt incòmodes. Ens aniria molt bé un entorn gràfic, on poder consultar l'estructura de les taules, i que ens avise si la sentència SQL és correct, i més ajudes.
Instal·larem l'entorn més habitual per a administrar PostgreSQL (o gestionar senzillament Bases de Dades) que és pgAdmin III. Tindrem l'avantatge que s'instal·la automàticament el client i també
el psql, que és el de línia de comandos, i així igual el podrem veure.
Nota
El lloc on instal·leu el pgAdmin l'heu de decidir vosaltres, si sobre la vostra màquina real (Windows o Linux) o sobre una màquina virtual. Disposeu d'una màquina virtual en els recursos,
per si voleu instal·lar el client en ella.
Jo tinc instal·lat el client de PostgreSQL en la meua màquina real, ja que contínuament estic connectant-me com a client al nostre servidor de l'institut o al meu propi servidor, i així el tinc
més a mà. En canvi el meu servidor el tinc instal·lat en una màquina virtual, així només el pose en marxa quan em fa falta.
PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri...
3 de 14 18/04/16 12:35
1.1 Instal·lació en Linux
Farem la instal·lació més senzilla possible, que és per paquets. No passa res si no tenim l'última versió, no ens donaria tantes ni tantes utilitats extra. El següent vídeo il·lustra la instal·lació
utilitzant el Synaptic:
En definitiva en el vídeo anterior hem la instal·lació habitual per paquets, que ja està en el repositori. La podíem haver fet senzillament amb el comando:
$ sudo apt-get install pgadmin3
En el moment de fer aquestos apunts, l'última versió de pgAdmin III és la 1.20.3, mentre que la instal·lada per paquets és la 1.18.1. Com comentàvem, no passa res. Hem primat la senzillesa en la
instal·lació.
Si teniu una versió anterior d'Ubuntu, i en la instal·lació per paquets s'instal·la una versió anterior, tampoc passa res. Traureu la mateixa funcionalitat que la resta. Ja instal·larem una versió
posterior quan arribem al tema d'administració.
Per a executar-lo anem al menu, o des d'una terminal fem pgadmin3.
PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri...
4 de 14 18/04/16 12:35
1.2 Instal·lació en Windows
La instal·lació de pgAdmin és molt senzilla. Només haurem d'anar amb compte amb la versió triada.
En el moment de fer aquestos apunts, l'última versió és la 1.20.0, però dóna problemes per a instal·lar tant en Windows XP com en Windows 7.
Per tant la versió que s'ha triat ha estat pgAdmin 1.18.1.
El programa s'ha instal·lat en C:Program Files (x86)pgAdmin III1.18 , o similar.
PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri...
5 de 14 18/04/16 12:35
2. Psql
El programa més senzill que podem utilitzar per a connectar-nos amb el servidor i executar les sentències SQL és el PSQL, que senzillament és un intèrpret de sentències SQL on anirem posant
els comandos i ens anirà donant els resultats. És, per tant, prou incòmode, però té l'avantatge de la seua senzillesa i que quasi sempre que tinguem un client de PostgreSQL, podrem utilitzar-lo.
Recordeu que el lloc on està situat és:
En Linux: /usr/bin/psql (en realitat és un enllaç al programa que està en /usr/share/postgresql-common/pg_wrapper). Si en compte de fer fet la instal·lació per paquets en fem una altra,
segurament estarà col·locat en un altre lloc, i seria convenient saber on).
En Windows: C:Program Files (x86)pgAdmin III1.18psql.exe
Si des d'una terminal (i canviant al directori on està el programa en el cas de Windows) executem el programa tal qual, sense posar cap paràmetre intentarà accedir al servidor situat en aquesta
mateixa màquina, com un usuari amb el mateix nom que el usuari de S.O., i a una Base de Dades que es diria igual. Evidentment ha de donar error, ja que el servidor està en una altra màquina, i
segurament l'usuari de Sistema Operatiu no es dirà igual.
Per a connectar-nos al servidor situat en una altra màquina, com distints usuaris, o a bases de dades distintes, haurem de jugar amb les opcions
El format total és el següent:
psql [opcions]...[base-de-dades [usuari]]
En les opcions podem posar, entre altres:
-? ajuda
-d nom_bd nom de la base de dades (no cal posar -d)
-c per a executar tan sols un comando
-l per a llistar les Bases de Dades existents
-h nom nom o adreça del servidor a què ens connectem (per defecte local)
-p port port del servidor a travès del qual ens connectem (per defecte 5432)
-U nom nom de l'usuari
-W per a que ens demane obligatòriament la contrasenya.
Obligatòriament haurem d'utilitzar els paràmetres -U per a posar el nom de l'usuari, i -h per a dir on està el servidor.
En el moment de fer aquestos apunts l'adreça del nostre servidor de dades és 80.35.84.29
Així, per exemple, per a connectar al servidor de l'Institut a un usuari anomenat geo que té contrasenya geo (la contrasenya li la proporcionem quan ens la demane):
psql -h 80.35.84.29 -U geo
tal i com ens mostren les següents imatges, per a Ubuntu i per a Windows:
L'avís (que no error) en el cas de Windows és per dir-nos que la codificació de caràcters ens pot funcionar malament, però no ens donarà cap problema, únicament que els caràcters accentuats, ç,
ñ, ... poden eixir mostrar-se malament
A partir d'ara ja podrem posar les sentències SQL, que poden ocupar més d'una línia i que han de finalitzar per ;
PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri...
6 de 14 18/04/16 12:35
Amb les tecles de moviment de cursor podem anar a les sentències anteriors (però només una línia) per a poder modificar alguna cosa i tornar a executar.
A banda podrem posar alguns comandos (ja dins de psql):
c nom_bd per a connectar a una altra Base de Dades
e invoca un editor (per defecte vi en Linux i notepad en Windows) per editar l'última sentència
l llista de les Bases de Dades existents
d llista de les taules
d taula descripció de la taula
g [fitxer] executa l'actual sentència i, en tot cas, envia el resultat al fitxer
i fitxer executa la sentència (o sentències) del fitxer
w fitxer guarda al fitxer la sentència del buffer
q eixir de psql
Encara que normalment en una consulta SQL s'ha de posar la taula o taules que proporcionen les dades, PostgreSQL permet no posar cap origen de dades. Això ens permetrà fer consultes per a
fer càlculs utilitzant els distints operadors i funcions.
Per exemple, per a que ens done la data d'avui:
SELECT NOW();
En la imatge s'ha fet una sentència per a veure el número de files de la taula INSTITUTS, i una altra per veure la data i hora del sistema. No importa si executem en Ubuntu o en Windows, el
resultat serà el mateix (tret de la visualització incorrecta de caràcters en Windows, en tot cas):
PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri...
7 de 14 18/04/16 12:35
3. Entorns de treball
Una vegada hem vist psql, i hem pogut comprovar que és molt àrid i incòmode, s'imposa trobar altres entorns que ens puguen permetre treballar de forma més còmoda.
Dos seran els entorns que ens plantejarem:
PgAdmin III: és un entorn molt universal, que s'ha imposat molt per a poder treballar còmodament amb PostgreSQL. S'ha d'instal·lar en el client.
PhpPgAdmin: és un entorn molt similar a phpMyAdmin, que serveix per utilitzar i administrar MySql. PhpPgAdmin és un conjunt de pàgines php que permeten utilitzar i administrar
PostgreSQL. Com és un conjunt de pàgines php ha d'haver instal·lat també un servidor web. Encara que serveix també per a administrar, nosaltres només ho veurem ací per a utilitzar-lo com
a clients, com ausuaris normals. I no instal·larem res, sinó que suposarem que està ja instal·lat (segurament en la mateixa màquina on està PostgreSQL), i des de qualsevol màquina
accedirem via web (amb un navegador).
PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri...
8 de 14 18/04/16 12:35
3.1 PgAdmin III
Ens permetrà disposar d'editors SQL i de procediments molt més agradables que els vistos amb psql, a banda de la possibilitat de poder administrar la Base de Dades des d'ací.
Podem cridar el programa des d'una terminal, però sempre serà més còmode buscar-lo amb el ratolí:
En Ubuntu: Aplicacions→ Programació→ pgAdmin III.
En Windows: Inicio → Todos los programas →pgAdmin III 1.18→ pgAdmin III.
Ja sense fer distinció entre Ubuntu i Linux, perquè pgAdmin funcionarà igual, mirem quines propietats li hem de donar a una nova connexió. Ho teniu en la següent imatge:
Li hem especificat:
Nom: Nom que li donarem a la connexió que estem creant . Podeu posar el que vulgueu.
Ordinador central: nom o IP del servidor a que ens connectem. Si ens conectem al servidor de l'Institut, l'adreça és 80.35.84.29
Port: port al qual ens connectem. El port per defecte de PostrgreSQL és 5432.
BBDD de manteniment: Ho podem veure com la Base de Dades a la qual ens connectarem. Totes les proves les farem sobre una Base de Dades anomenada geo.
Nom d'usuari: Per a les proves ens connectarem com a usuari geo.
Contrasenya: També serà geo.
Mireu que podríem guardar la contrasenya, i així no caldrà posar-la cada vegada, però en l'exemple hem optat per no posar-la. Les altres opcions no les toquem.
Una vegada hem entrat, podrem navegar pels objectes en la part de l'esquerra. Per exemple ens interessarà veure les taules que hi ha creades en la Base de Dades. Aleshores entrem dins de la
connexió que hem fet, dins de la Base de Dades geo (les altres Bases de Dades les podem veure, però en principi no entrar en elles; en la part d'administració veurem com permetre aquestes
connexions). En la Bse de Dades, entrem en Esquemes, concretament en l'esquema Public. Ahí és on veurem tots els objectes d'aquesta Base de Dades, i veurem en l'apartat de taules que
aquesta Base de Dades té 3 taules. En la imatge estem situats damunt de la taula poblacions. En la part superior veurem que alguns botons estan activats, i uns altres no, depenent de les accions
que es puguen fer. El significat d'alguns d'ells s'explica en la imatge:
El que més ens interessa és l'execució de sentències SQL. Si apretem al botó corresponent se'ns obrirà una altra finestra on podrem escriure còmodament la sentència (amb colorins: blau per a
paraules reservades, blau claret per a constants numèriques, moradet pera constants alfanumèriques, ...), i la podrem guardar o obrir una ja guardada, ... Aquesta imatge explica les parts més
importants:
PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri...
9 de 14 18/04/16 12:35
També podrem crear taules utilitzant l'assistent. A banda de ser més o menys còmode que recordar SQL, té l'avantatge de poder triar el tipus de les columnes entre tots els tipus disponibles en
PostgreSQL. El següent vídeo mostra el procés de crear una taula senzilla. Però no ens oblidem que és un assistent que ens ajuda a crear la sentència SQL. Al final es veu que tot és SQL. Està
fet sobre Windows (per mostrar que és exactament igual executar sobre Ubuntu que sobre Linux). Si us decidiu a executar la sentència de creació, recordeu després esborrar la taula, ja que com
tots ens estem connectant com el mateix usuari, tots la veuríem. Encara que no passa res, ja que geo és una Base de Dades de prova.
PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri...
10 de 14 18/04/16 12:35
3.2 PhpPgAdmin
ATENCIÓ
No podreu provar ara PhpPgAdmin, ja que en el moment de fer els apunts no tenim operatiu el nom xot.ieselcaminas.org , i l'adreça 80.35.84.29 en el port 80 està redirigida cap a un
altre servidor. Ho pose únicament de forma il·lustrativa, tal i com ens connectem des de dins de l'Institut i com ens connectàvem quan sí que estava operativa. Treballarem amb
PhpPgAdmin en el tema 4.
Ara no ens plantejarem instal·lar PhpPgAdmin. Tan sols veurem la seua utilització com a clients
Suposarem que PhpPgAdmin està instal·lat en una màquina on ha d'haver també un servidor web, lògicament. Aquesta màquina podria ser la mateixa on està instal·lat PostgreSQL o una altra:
això no ens preocupa com a clients. Tan sols que podem fer la connexió, i que podem consultar les taules i fer sentències SQL de forma còmoda.
Sobre un navegador, posaríem l'adreça la del servidor. Aquest adreça web és:
Des de dins de l'Institut: 172.16.1.2/phppgadmin
Des de fora de l'Institut: xot.ieselcaminas.org/phppgadmin
En la següent imatge podem comprovar com ens està contestant phpPgAdmin:
En quant punxem a PostgreSQL a l'esquerra ens demanarà usuari i contrasenya que s'ha de connectar (per exemple geo / geo ). Una vegada connectats ens eixirà una llista de les Bases de
Dades existents en el servidor. Encara que vegem que hi ha moltes dades, segurament només podrem accedir plenament a la nostra (en l'exemple la Base de Dades que s'anomena igual que
l'usuari: geo)
Dins de la nostra Base de Dades, podrem navegar fins trobar els objectes dins de l'únic esquema que hi ha. Podrem veure les taules, vistes, ... Si ens situem en una taula, per exemple, podrem
veure la seua estructura:
PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri...
11 de 14 18/04/16 12:35
Per a veure les dades, apretem a Navega, baix dels noms dels camps:
I per últim, per a poder executar les sentències SQL, apretem a SQL que està en el menú de dalt a la dreta (sempre està visible). S'obrirà una altra finestra on podrem escriure (o copiar) la
sentència. En quant apretem al botó d'executar, s'executarà en la finestra principal, però sense tancar la de SQL, cosa que ens permetrà per exemple modificar la sentència i tonar-la a executar:
PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri...
12 de 14 18/04/16 12:35
PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri...
13 de 14 18/04/16 12:35
Llicenciat sota la Llicència Creative Commons Reconeixement NoComercial SenseObraDerivada 2.5
PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri...
14 de 14 18/04/16 12:35

More Related Content

What's hot

Presentació de les novetats i llicències Vmware esxi 5
Presentació de les novetats i llicències Vmware esxi 5Presentació de les novetats i llicències Vmware esxi 5
Presentació de les novetats i llicències Vmware esxi 5Roger Casadejús Pérez
 
LopezSergi_MartinXavi_practica5_clonezilla
LopezSergi_MartinXavi_practica5_clonezillaLopezSergi_MartinXavi_practica5_clonezilla
LopezSergi_MartinXavi_practica5_clonezillasergixavi
 
Introducció a Linux (1) - instal·lació d' OpenSUSE 11.4
Introducció a Linux (1) - instal·lació d' OpenSUSE 11.4Introducció a Linux (1) - instal·lació d' OpenSUSE 11.4
Introducció a Linux (1) - instal·lació d' OpenSUSE 11.4Jordi Juan Pérez kukat
 

What's hot (7)

Presentació de les novetats i llicències Vmware esxi 5
Presentació de les novetats i llicències Vmware esxi 5Presentació de les novetats i llicències Vmware esxi 5
Presentació de les novetats i llicències Vmware esxi 5
 
DHCP
DHCPDHCP
DHCP
 
Open km
Open kmOpen km
Open km
 
DRBL
DRBLDRBL
DRBL
 
LopezSergi_MartinXavi_practica5_clonezilla
LopezSergi_MartinXavi_practica5_clonezillaLopezSergi_MartinXavi_practica5_clonezilla
LopezSergi_MartinXavi_practica5_clonezilla
 
Introducció a Linux (1) - instal·lació d' OpenSUSE 11.4
Introducció a Linux (1) - instal·lació d' OpenSUSE 11.4Introducció a Linux (1) - instal·lació d' OpenSUSE 11.4
Introducció a Linux (1) - instal·lació d' OpenSUSE 11.4
 
El programa clonezilla
El programa clonezillaEl programa clonezilla
El programa clonezilla
 

Viewers also liked

Internet Safety Demo
Internet Safety DemoInternet Safety Demo
Internet Safety DemoMr Kirsch
 
Penyulit kala 3 persalinan poltekkes surakarta
Penyulit kala 3 persalinan poltekkes surakartaPenyulit kala 3 persalinan poltekkes surakarta
Penyulit kala 3 persalinan poltekkes surakartaYunita Dipra
 
Pelayanan Intranatal Poltekkes Surakarta
Pelayanan Intranatal Poltekkes SurakartaPelayanan Intranatal Poltekkes Surakarta
Pelayanan Intranatal Poltekkes SurakartaYunita Dipra
 
Distokia jalan lahir/reguler poltekkes surakarta
Distokia jalan lahir/reguler poltekkes surakartaDistokia jalan lahir/reguler poltekkes surakarta
Distokia jalan lahir/reguler poltekkes surakartaYunita Dipra
 
Tugas tik kelas 9 muhammad aqil
Tugas tik kelas 9 muhammad aqilTugas tik kelas 9 muhammad aqil
Tugas tik kelas 9 muhammad aqilaqil_ascd
 
Hypnobirthing Poltekkes Kemenkes Surakarta
Hypnobirthing Poltekkes Kemenkes SurakartaHypnobirthing Poltekkes Kemenkes Surakarta
Hypnobirthing Poltekkes Kemenkes SurakartaYunita Dipra
 
Distosia his poltekkes surakarta
Distosia his poltekkes surakartaDistosia his poltekkes surakarta
Distosia his poltekkes surakartaYunita Dipra
 
Distosia kelainan alat kandungan poltekkes surakarta
Distosia kelainan alat kandungan poltekkes surakartaDistosia kelainan alat kandungan poltekkes surakarta
Distosia kelainan alat kandungan poltekkes surakartaYunita Dipra
 
Chat room example
Chat room exampleChat room example
Chat room exampleMr Kirsch
 
Pelayanan Usia Lanjut Poltekkes Surakarta
Pelayanan Usia Lanjut Poltekkes SurakartaPelayanan Usia Lanjut Poltekkes Surakarta
Pelayanan Usia Lanjut Poltekkes SurakartaYunita Dipra
 

Viewers also liked (15)

Bab 4
Bab 4Bab 4
Bab 4
 
Self esteem
Self esteemSelf esteem
Self esteem
 
Effective communication
Effective communicationEffective communication
Effective communication
 
Internet Safety Demo
Internet Safety DemoInternet Safety Demo
Internet Safety Demo
 
Penyulit kala 3 persalinan poltekkes surakarta
Penyulit kala 3 persalinan poltekkes surakartaPenyulit kala 3 persalinan poltekkes surakarta
Penyulit kala 3 persalinan poltekkes surakarta
 
Pelayanan Intranatal Poltekkes Surakarta
Pelayanan Intranatal Poltekkes SurakartaPelayanan Intranatal Poltekkes Surakarta
Pelayanan Intranatal Poltekkes Surakarta
 
Distokia jalan lahir/reguler poltekkes surakarta
Distokia jalan lahir/reguler poltekkes surakartaDistokia jalan lahir/reguler poltekkes surakarta
Distokia jalan lahir/reguler poltekkes surakarta
 
Strategic Planning
Strategic Planning  Strategic Planning
Strategic Planning
 
Tugas tik kelas 9 muhammad aqil
Tugas tik kelas 9 muhammad aqilTugas tik kelas 9 muhammad aqil
Tugas tik kelas 9 muhammad aqil
 
Seasons 11
Seasons 11Seasons 11
Seasons 11
 
Hypnobirthing Poltekkes Kemenkes Surakarta
Hypnobirthing Poltekkes Kemenkes SurakartaHypnobirthing Poltekkes Kemenkes Surakarta
Hypnobirthing Poltekkes Kemenkes Surakarta
 
Distosia his poltekkes surakarta
Distosia his poltekkes surakartaDistosia his poltekkes surakarta
Distosia his poltekkes surakarta
 
Distosia kelainan alat kandungan poltekkes surakarta
Distosia kelainan alat kandungan poltekkes surakartaDistosia kelainan alat kandungan poltekkes surakarta
Distosia kelainan alat kandungan poltekkes surakarta
 
Chat room example
Chat room exampleChat room example
Chat room example
 
Pelayanan Usia Lanjut Poltekkes Surakarta
Pelayanan Usia Lanjut Poltekkes SurakartaPelayanan Usia Lanjut Poltekkes Surakarta
Pelayanan Usia Lanjut Poltekkes Surakarta
 

Similar to Tema1

LSMaker API documentation v0.0
LSMaker API documentation v0.0LSMaker API documentation v0.0
LSMaker API documentation v0.0La Salle
 
Introducció programari lliure
Introducció programari lliureIntroducció programari lliure
Introducció programari lliuregabriel1685
 
Creació de base de dades utilitzant llenguatge SQL.
Creació de base de dades utilitzant llenguatge SQL.Creació de base de dades utilitzant llenguatge SQL.
Creació de base de dades utilitzant llenguatge SQL.Miquel Boada Artigas
 
Instal·lació MySQL Server i Workbench. Creació de base de dades. Tipus de dad...
Instal·lació MySQL Server i Workbench. Creació de base de dades. Tipus de dad...Instal·lació MySQL Server i Workbench. Creació de base de dades. Tipus de dad...
Instal·lació MySQL Server i Workbench. Creació de base de dades. Tipus de dad...Miquel Boada Artigas
 
Control remot amb Telnet i SSH
Control remot amb Telnet i SSHControl remot amb Telnet i SSH
Control remot amb Telnet i SSHYeni ChT
 
Tutorial OpenKM
Tutorial OpenKMTutorial OpenKM
Tutorial OpenKMJoanaELIES
 
Power Point Informàtica
Power Point InformàticaPower Point Informàtica
Power Point InformàticaAndreuSegui
 
El framework Cakephp
El framework CakephpEl framework Cakephp
El framework Cakephpherotyc
 
ARSO-M2: Administracio de Servidors - Resum
ARSO-M2: Administracio de Servidors -  ResumARSO-M2: Administracio de Servidors -  Resum
ARSO-M2: Administracio de Servidors - ResumAurora Lara Marin
 
Com estructurar un projecte web (ca)
Com estructurar un projecte web (ca)Com estructurar un projecte web (ca)
Com estructurar un projecte web (ca)Carlos Campderrós
 
Instalacion de windows server 2008 en Virtual Box
Instalacion de windows server 2008 en Virtual BoxInstalacion de windows server 2008 en Virtual Box
Instalacion de windows server 2008 en Virtual Boxsyed usman ali shah
 

Similar to Tema1 (20)

LSMaker API documentation v0.0
LSMaker API documentation v0.0LSMaker API documentation v0.0
LSMaker API documentation v0.0
 
Introducció programari lliure
Introducció programari lliureIntroducció programari lliure
Introducció programari lliure
 
Metasploit framework mini how-to
Metasploit framework mini how-toMetasploit framework mini how-to
Metasploit framework mini how-to
 
Tema 5
Tema 5Tema 5
Tema 5
 
Creació de base de dades utilitzant llenguatge SQL.
Creació de base de dades utilitzant llenguatge SQL.Creació de base de dades utilitzant llenguatge SQL.
Creació de base de dades utilitzant llenguatge SQL.
 
Instal·lació MySQL Server i Workbench. Creació de base de dades. Tipus de dad...
Instal·lació MySQL Server i Workbench. Creació de base de dades. Tipus de dad...Instal·lació MySQL Server i Workbench. Creació de base de dades. Tipus de dad...
Instal·lació MySQL Server i Workbench. Creació de base de dades. Tipus de dad...
 
Control remot amb Telnet i SSH
Control remot amb Telnet i SSHControl remot amb Telnet i SSH
Control remot amb Telnet i SSH
 
Tutorial OpenKM
Tutorial OpenKMTutorial OpenKM
Tutorial OpenKM
 
Power point informàtica
Power point informàticaPower point informàtica
Power point informàtica
 
Power Point Informàtica
Power Point InformàticaPower Point Informàtica
Power Point Informàtica
 
Power Point Informàtica
Power Point InformàticaPower Point Informàtica
Power Point Informàtica
 
El framework Cakephp
El framework CakephpEl framework Cakephp
El framework Cakephp
 
Presentació de Samba
Presentació de SambaPresentació de Samba
Presentació de Samba
 
ARSO-M2: Administracio de Servidors - Resum
ARSO-M2: Administracio de Servidors -  ResumARSO-M2: Administracio de Servidors -  Resum
ARSO-M2: Administracio de Servidors - Resum
 
Ldap a debian 2: nss i pam
Ldap a debian 2: nss i pamLdap a debian 2: nss i pam
Ldap a debian 2: nss i pam
 
Presentació de Smoothwall
Presentació de SmoothwallPresentació de Smoothwall
Presentació de Smoothwall
 
Com estructurar un projecte web (ca)
Com estructurar un projecte web (ca)Com estructurar un projecte web (ca)
Com estructurar un projecte web (ca)
 
Instalacion de windows server 2008 en Virtual Box
Instalacion de windows server 2008 en Virtual BoxInstalacion de windows server 2008 en Virtual Box
Instalacion de windows server 2008 en Virtual Box
 
Presentació de Windows 7
Presentació de Windows 7Presentació de Windows 7
Presentació de Windows 7
 
Pt2 alex
Pt2 alexPt2 alex
Pt2 alex
 

Tema1

  • 1. PostgreSQL: utilització i administracióPostgreSQL: utilització i administració Tema 1: Instal·lació del client de PostgreSQL PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri... 1 de 14 18/04/16 12:35
  • 2. Objectius i coneixements previs Objectius La primera part del curset ens connectarem a PostgreSQL com a clients, en l'arquitectura client-servidor. Per tant l'únic objectiu d'aquest tema és la instal·lació d'alguna eina que ens permeta connectar com a clients a un determinat servidor. Concretament seran 3 les eines des de les quals connectar, però no caldrà utilitzar les tres. Aquestes eines són: psql pgAdmin PhpPgAdmin L'eina recomanada serà PgAdmin. Per tant l'objectiu bàsic d'aquest tema serà instal·lar aquesta eina. També veurem el funcionament de les altres dues, però no insistirem en elles en aquesta primera part del curset. PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri... 2 de 14 18/04/16 12:35
  • 3. 1. Instal·lació del client de PostgreSQL: pgAdmin III Per a poder connectar amb el servidor PostgreSQL ens fa falta el client de PostgreSQL. Podríem instal·lar-ne un de molt senzill que únicament tinga un programa en forma línia de comandos a més de les llibreries nacassàries. Els programes de línia de comandos són similars a una terminal ("Símbolo de sistema", en Windows) però en compte de posar qualsevol comando de Sistema Operatiu, escriurem sentències SQL, ens contestarà i estarà esperant a que introduïm una altra. Però aquest tipus de programes són molt incòmodes. Ens aniria molt bé un entorn gràfic, on poder consultar l'estructura de les taules, i que ens avise si la sentència SQL és correct, i més ajudes. Instal·larem l'entorn més habitual per a administrar PostgreSQL (o gestionar senzillament Bases de Dades) que és pgAdmin III. Tindrem l'avantatge que s'instal·la automàticament el client i també el psql, que és el de línia de comandos, i així igual el podrem veure. Nota El lloc on instal·leu el pgAdmin l'heu de decidir vosaltres, si sobre la vostra màquina real (Windows o Linux) o sobre una màquina virtual. Disposeu d'una màquina virtual en els recursos, per si voleu instal·lar el client en ella. Jo tinc instal·lat el client de PostgreSQL en la meua màquina real, ja que contínuament estic connectant-me com a client al nostre servidor de l'institut o al meu propi servidor, i així el tinc més a mà. En canvi el meu servidor el tinc instal·lat en una màquina virtual, així només el pose en marxa quan em fa falta. PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri... 3 de 14 18/04/16 12:35
  • 4. 1.1 Instal·lació en Linux Farem la instal·lació més senzilla possible, que és per paquets. No passa res si no tenim l'última versió, no ens donaria tantes ni tantes utilitats extra. El següent vídeo il·lustra la instal·lació utilitzant el Synaptic: En definitiva en el vídeo anterior hem la instal·lació habitual per paquets, que ja està en el repositori. La podíem haver fet senzillament amb el comando: $ sudo apt-get install pgadmin3 En el moment de fer aquestos apunts, l'última versió de pgAdmin III és la 1.20.3, mentre que la instal·lada per paquets és la 1.18.1. Com comentàvem, no passa res. Hem primat la senzillesa en la instal·lació. Si teniu una versió anterior d'Ubuntu, i en la instal·lació per paquets s'instal·la una versió anterior, tampoc passa res. Traureu la mateixa funcionalitat que la resta. Ja instal·larem una versió posterior quan arribem al tema d'administració. Per a executar-lo anem al menu, o des d'una terminal fem pgadmin3. PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri... 4 de 14 18/04/16 12:35
  • 5. 1.2 Instal·lació en Windows La instal·lació de pgAdmin és molt senzilla. Només haurem d'anar amb compte amb la versió triada. En el moment de fer aquestos apunts, l'última versió és la 1.20.0, però dóna problemes per a instal·lar tant en Windows XP com en Windows 7. Per tant la versió que s'ha triat ha estat pgAdmin 1.18.1. El programa s'ha instal·lat en C:Program Files (x86)pgAdmin III1.18 , o similar. PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri... 5 de 14 18/04/16 12:35
  • 6. 2. Psql El programa més senzill que podem utilitzar per a connectar-nos amb el servidor i executar les sentències SQL és el PSQL, que senzillament és un intèrpret de sentències SQL on anirem posant els comandos i ens anirà donant els resultats. És, per tant, prou incòmode, però té l'avantatge de la seua senzillesa i que quasi sempre que tinguem un client de PostgreSQL, podrem utilitzar-lo. Recordeu que el lloc on està situat és: En Linux: /usr/bin/psql (en realitat és un enllaç al programa que està en /usr/share/postgresql-common/pg_wrapper). Si en compte de fer fet la instal·lació per paquets en fem una altra, segurament estarà col·locat en un altre lloc, i seria convenient saber on). En Windows: C:Program Files (x86)pgAdmin III1.18psql.exe Si des d'una terminal (i canviant al directori on està el programa en el cas de Windows) executem el programa tal qual, sense posar cap paràmetre intentarà accedir al servidor situat en aquesta mateixa màquina, com un usuari amb el mateix nom que el usuari de S.O., i a una Base de Dades que es diria igual. Evidentment ha de donar error, ja que el servidor està en una altra màquina, i segurament l'usuari de Sistema Operatiu no es dirà igual. Per a connectar-nos al servidor situat en una altra màquina, com distints usuaris, o a bases de dades distintes, haurem de jugar amb les opcions El format total és el següent: psql [opcions]...[base-de-dades [usuari]] En les opcions podem posar, entre altres: -? ajuda -d nom_bd nom de la base de dades (no cal posar -d) -c per a executar tan sols un comando -l per a llistar les Bases de Dades existents -h nom nom o adreça del servidor a què ens connectem (per defecte local) -p port port del servidor a travès del qual ens connectem (per defecte 5432) -U nom nom de l'usuari -W per a que ens demane obligatòriament la contrasenya. Obligatòriament haurem d'utilitzar els paràmetres -U per a posar el nom de l'usuari, i -h per a dir on està el servidor. En el moment de fer aquestos apunts l'adreça del nostre servidor de dades és 80.35.84.29 Així, per exemple, per a connectar al servidor de l'Institut a un usuari anomenat geo que té contrasenya geo (la contrasenya li la proporcionem quan ens la demane): psql -h 80.35.84.29 -U geo tal i com ens mostren les següents imatges, per a Ubuntu i per a Windows: L'avís (que no error) en el cas de Windows és per dir-nos que la codificació de caràcters ens pot funcionar malament, però no ens donarà cap problema, únicament que els caràcters accentuats, ç, ñ, ... poden eixir mostrar-se malament A partir d'ara ja podrem posar les sentències SQL, que poden ocupar més d'una línia i que han de finalitzar per ; PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri... 6 de 14 18/04/16 12:35
  • 7. Amb les tecles de moviment de cursor podem anar a les sentències anteriors (però només una línia) per a poder modificar alguna cosa i tornar a executar. A banda podrem posar alguns comandos (ja dins de psql): c nom_bd per a connectar a una altra Base de Dades e invoca un editor (per defecte vi en Linux i notepad en Windows) per editar l'última sentència l llista de les Bases de Dades existents d llista de les taules d taula descripció de la taula g [fitxer] executa l'actual sentència i, en tot cas, envia el resultat al fitxer i fitxer executa la sentència (o sentències) del fitxer w fitxer guarda al fitxer la sentència del buffer q eixir de psql Encara que normalment en una consulta SQL s'ha de posar la taula o taules que proporcionen les dades, PostgreSQL permet no posar cap origen de dades. Això ens permetrà fer consultes per a fer càlculs utilitzant els distints operadors i funcions. Per exemple, per a que ens done la data d'avui: SELECT NOW(); En la imatge s'ha fet una sentència per a veure el número de files de la taula INSTITUTS, i una altra per veure la data i hora del sistema. No importa si executem en Ubuntu o en Windows, el resultat serà el mateix (tret de la visualització incorrecta de caràcters en Windows, en tot cas): PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri... 7 de 14 18/04/16 12:35
  • 8. 3. Entorns de treball Una vegada hem vist psql, i hem pogut comprovar que és molt àrid i incòmode, s'imposa trobar altres entorns que ens puguen permetre treballar de forma més còmoda. Dos seran els entorns que ens plantejarem: PgAdmin III: és un entorn molt universal, que s'ha imposat molt per a poder treballar còmodament amb PostgreSQL. S'ha d'instal·lar en el client. PhpPgAdmin: és un entorn molt similar a phpMyAdmin, que serveix per utilitzar i administrar MySql. PhpPgAdmin és un conjunt de pàgines php que permeten utilitzar i administrar PostgreSQL. Com és un conjunt de pàgines php ha d'haver instal·lat també un servidor web. Encara que serveix també per a administrar, nosaltres només ho veurem ací per a utilitzar-lo com a clients, com ausuaris normals. I no instal·larem res, sinó que suposarem que està ja instal·lat (segurament en la mateixa màquina on està PostgreSQL), i des de qualsevol màquina accedirem via web (amb un navegador). PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri... 8 de 14 18/04/16 12:35
  • 9. 3.1 PgAdmin III Ens permetrà disposar d'editors SQL i de procediments molt més agradables que els vistos amb psql, a banda de la possibilitat de poder administrar la Base de Dades des d'ací. Podem cridar el programa des d'una terminal, però sempre serà més còmode buscar-lo amb el ratolí: En Ubuntu: Aplicacions→ Programació→ pgAdmin III. En Windows: Inicio → Todos los programas →pgAdmin III 1.18→ pgAdmin III. Ja sense fer distinció entre Ubuntu i Linux, perquè pgAdmin funcionarà igual, mirem quines propietats li hem de donar a una nova connexió. Ho teniu en la següent imatge: Li hem especificat: Nom: Nom que li donarem a la connexió que estem creant . Podeu posar el que vulgueu. Ordinador central: nom o IP del servidor a que ens connectem. Si ens conectem al servidor de l'Institut, l'adreça és 80.35.84.29 Port: port al qual ens connectem. El port per defecte de PostrgreSQL és 5432. BBDD de manteniment: Ho podem veure com la Base de Dades a la qual ens connectarem. Totes les proves les farem sobre una Base de Dades anomenada geo. Nom d'usuari: Per a les proves ens connectarem com a usuari geo. Contrasenya: També serà geo. Mireu que podríem guardar la contrasenya, i així no caldrà posar-la cada vegada, però en l'exemple hem optat per no posar-la. Les altres opcions no les toquem. Una vegada hem entrat, podrem navegar pels objectes en la part de l'esquerra. Per exemple ens interessarà veure les taules que hi ha creades en la Base de Dades. Aleshores entrem dins de la connexió que hem fet, dins de la Base de Dades geo (les altres Bases de Dades les podem veure, però en principi no entrar en elles; en la part d'administració veurem com permetre aquestes connexions). En la Bse de Dades, entrem en Esquemes, concretament en l'esquema Public. Ahí és on veurem tots els objectes d'aquesta Base de Dades, i veurem en l'apartat de taules que aquesta Base de Dades té 3 taules. En la imatge estem situats damunt de la taula poblacions. En la part superior veurem que alguns botons estan activats, i uns altres no, depenent de les accions que es puguen fer. El significat d'alguns d'ells s'explica en la imatge: El que més ens interessa és l'execució de sentències SQL. Si apretem al botó corresponent se'ns obrirà una altra finestra on podrem escriure còmodament la sentència (amb colorins: blau per a paraules reservades, blau claret per a constants numèriques, moradet pera constants alfanumèriques, ...), i la podrem guardar o obrir una ja guardada, ... Aquesta imatge explica les parts més importants: PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri... 9 de 14 18/04/16 12:35
  • 10. També podrem crear taules utilitzant l'assistent. A banda de ser més o menys còmode que recordar SQL, té l'avantatge de poder triar el tipus de les columnes entre tots els tipus disponibles en PostgreSQL. El següent vídeo mostra el procés de crear una taula senzilla. Però no ens oblidem que és un assistent que ens ajuda a crear la sentència SQL. Al final es veu que tot és SQL. Està fet sobre Windows (per mostrar que és exactament igual executar sobre Ubuntu que sobre Linux). Si us decidiu a executar la sentència de creació, recordeu després esborrar la taula, ja que com tots ens estem connectant com el mateix usuari, tots la veuríem. Encara que no passa res, ja que geo és una Base de Dades de prova. PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri... 10 de 14 18/04/16 12:35
  • 11. 3.2 PhpPgAdmin ATENCIÓ No podreu provar ara PhpPgAdmin, ja que en el moment de fer els apunts no tenim operatiu el nom xot.ieselcaminas.org , i l'adreça 80.35.84.29 en el port 80 està redirigida cap a un altre servidor. Ho pose únicament de forma il·lustrativa, tal i com ens connectem des de dins de l'Institut i com ens connectàvem quan sí que estava operativa. Treballarem amb PhpPgAdmin en el tema 4. Ara no ens plantejarem instal·lar PhpPgAdmin. Tan sols veurem la seua utilització com a clients Suposarem que PhpPgAdmin està instal·lat en una màquina on ha d'haver també un servidor web, lògicament. Aquesta màquina podria ser la mateixa on està instal·lat PostgreSQL o una altra: això no ens preocupa com a clients. Tan sols que podem fer la connexió, i que podem consultar les taules i fer sentències SQL de forma còmoda. Sobre un navegador, posaríem l'adreça la del servidor. Aquest adreça web és: Des de dins de l'Institut: 172.16.1.2/phppgadmin Des de fora de l'Institut: xot.ieselcaminas.org/phppgadmin En la següent imatge podem comprovar com ens està contestant phpPgAdmin: En quant punxem a PostgreSQL a l'esquerra ens demanarà usuari i contrasenya que s'ha de connectar (per exemple geo / geo ). Una vegada connectats ens eixirà una llista de les Bases de Dades existents en el servidor. Encara que vegem que hi ha moltes dades, segurament només podrem accedir plenament a la nostra (en l'exemple la Base de Dades que s'anomena igual que l'usuari: geo) Dins de la nostra Base de Dades, podrem navegar fins trobar els objectes dins de l'únic esquema que hi ha. Podrem veure les taules, vistes, ... Si ens situem en una taula, per exemple, podrem veure la seua estructura: PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri... 11 de 14 18/04/16 12:35
  • 12. Per a veure les dades, apretem a Navega, baix dels noms dels camps: I per últim, per a poder executar les sentències SQL, apretem a SQL que està en el menú de dalt a la dreta (sempre està visible). S'obrirà una altra finestra on podrem escriure (o copiar) la sentència. En quant apretem al botó d'executar, s'executarà en la finestra principal, però sense tancar la de SQL, cosa que ens permetrà per exemple modificar la sentència i tonar-la a executar: PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri... 12 de 14 18/04/16 12:35
  • 13. PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri... 13 de 14 18/04/16 12:35
  • 14. Llicenciat sota la Llicència Creative Commons Reconeixement NoComercial SenseObraDerivada 2.5 PostgreSQL: utilització i administració http://127.0.0.1:51235/temp_print_dirs/eXeTempPri... 14 de 14 18/04/16 12:35