Sei sulla pagina 1di 21
UAUA SesiSesióónn 11 PostgreSQLPostgreSQL,, arranquearranque bbáásicosico LaboratorioLaboratorio dede BasesBases
UAUA
SesiSesióónn 11
PostgreSQLPostgreSQL,, arranquearranque bbáásicosico
LaboratorioLaboratorio dede BasesBases
dede DatosDatos
IvIváánn GonzGonzáálezlez DiegoDiego
DeptDept CienciasCiencias dede lala ComputaciComputacióónn
UniversidadUniversidad dede AlcalAlcaláá
11
PostgreSQLPostgreSQL ⇒⇒www.postgresql.orgwww.postgresql.org UAUA PostgreSQLPostgreSQL eses unun sistemasistema
PostgreSQLPostgreSQL ⇒⇒www.postgresql.orgwww.postgresql.org
UAUA
PostgreSQLPostgreSQL eses unun sistemasistema GestorGestor dede BaseBase dede DatosDatos ObjetoObjeto--
RelacionalRelacional (ORDBMS),(ORDBMS), queque nacinacióó enen lala UniversidadUniversidad dede CaliforniaCalifornia enen
1977.1977.
EnEn 19861986 M.M. StonebrakerStonebraker dede lala universidaduniversidad dede BerkeleyBerkeley transformtransformóó elel
proyectoproyecto inicialinicial enen unun sistemasistema ObjetoObjeto--RelacionalRelacional llamadollamado PostgresPostgres
EnEn 19961996 sese iniciinicióó elel proyectoproyecto dede ccóódigodigo abiertoabierto PostgreSQLPostgreSQL
SeSe consideraconsidera aa PostgreSQLPostgreSQL comocomo unauna dede laslas basesbases dede datosdatos ““openopen
sourcesource”” mmááss avanzadaavanzada (si(si nono lala queque mmáás,s, muchomucho mmááss queque MySQLMySQL).).
SeSe centracentra enen seguirseguir compatibilidadcompatibilidad entreentre laslas especificacionesespecificaciones ANANSISI
SQLSQL yy elel sistemasistema dede basebase dede datos.datos.
CubreCubre ANSIANSI SQL89,SQL89, SQL92SQL92 yy parcialmenteparcialmente SQL99SQL99
22
PostgreSQLPostgreSQL UAUA PostgreSQLPostgreSQL utilizautiliza principalmenteprincipalmente comocomo lenguajelenguaje
PostgreSQLPostgreSQL
UAUA
PostgreSQLPostgreSQL utilizautiliza principalmenteprincipalmente comocomo lenguajelenguaje dede
consultaconsulta aa lala basebase dede datosdatos SQL.SQL.
AsAsíí mismo,mismo, comocomo lenguajeslenguajes procedimentalesprocedimentales utiliza:utiliza:
••
••
elel pgSQLpgSQL principalmente.principalmente.
TambiTambiéénn puedepuede utilizarutilizar extensiones,extensiones, siendosiendo loslos
principalesprincipales PERL,PERL, TCLTCL yy Java.Java.
33
PostgreSQLPostgreSQL UAUA ArquitecturaArquitectura dede PostgreSQLPostgreSQL:: •• •• •• •• ••
PostgreSQLPostgreSQL
UAUA
ArquitecturaArquitectura dede PostgreSQLPostgreSQL::
••
••
••
••
••
BasadoBasado enen lala arquitecturaarquitectura clientecliente--servidorservidor
ExistenExisten extensionesextensiones parapara poderpoder utilizarutilizar PostgreSQLPostgreSQL dede
formaforma distribuida.distribuida.
PoseePosee unun softwaresoftware servidor,servidor, queque funcionafunciona enen lala
mmááquinaquina dondedonde sese almacenanalmacenan loslos datosdatos dede lala basebase dede
datos.datos.
AceptaAcepta conexionesconexiones mediantemediante TCP/IPTCP/IP yy susu propiopropio
protocoloprotocolo dede comunicacicomunicacióón.n.
ComoComo cliente,cliente, proporcionaproporciona pSQLpSQL,, unun programaprograma enen
modomodo consolaconsola parapara elel accesoacceso aa lala basebase dede datos.datos.
44
PostgreSQLPostgreSQL UAUA NoNo poseeposee interfazinterfaz grgrááfico,fico, eses unun sistemasistema dede basebase
PostgreSQLPostgreSQL
UAUA
NoNo poseeposee interfazinterfaz grgrááfico,fico, eses unun sistemasistema dede basebase dede datosdatos
serio,serio, dondedonde todostodos loslos recursosrecursos dede lala mmááquinaquina sese dedicandedican
dede lala formaforma mmááss eficienteeficiente posibleposible alal funcionamientofuncionamiento dede lala
basebase dede datosdatos
ParaPara poderpoder trabajartrabajar enen modomodo grgrááfico,fico, sese puedenpueden utilizarutilizar
programasprogramas gestoresgestores compatiblescompatibles concon OracleOracle
EnEn esteeste laboratoriolaboratorio sese utilizarutilizaráá pSQLpSQL yy pgAdminpgAdmin IIIIII
pgAdminpgAdmin eses unun programaprograma especialmenteespecialmente disediseññadoado parapara
PostgreSQLPostgreSQL yy abarcaabarca laslas úúltimasltimas versionesversiones dede lala basebase dede
datosdatos (7.3.x,(7.3.x, 7.4.x7.4.x yy posteriores)posteriores)
www.pgadmin.orgwww.pgadmin.org
55
UAUA 66
UAUA
66
PostgreSQLPostgreSQL UAUA PostgreSQLPostgreSQL eses unun sistemasistema concebidoconcebido parapara
PostgreSQLPostgreSQL
UAUA
PostgreSQLPostgreSQL eses unun sistemasistema concebidoconcebido parapara funcionamientofuncionamiento
enen servidoresservidores UnixUnix/Linux/Linux concon unauna arquitecturaarquitectura portableportable
entreentre loslos distintosdistintos sistemassistemas
ParaPara poderpoder utilizarutilizar PostgreSQLPostgreSQL enen unauna mmááquinaquina WindowsWindows
sese debedebe dede utilizarutilizar unauna dede laslas siguientessiguientes opciones:opciones:
••
••
UtilizarUtilizar unun emuladoremulador dede LinuxLinux comocomo CygwinCygwin
RecompilarRecompilar elel ccóódigodigo fuentefuente concon laslas librerlibrerííasas apropiadasapropiadas parapara
win32win32
••
InstalarInstalar elel binariobinario dede instalaciinstalacióónn ofrecidoofrecido enen lala versiversióónn 8.08.0 yy
posterioresposteriores ⇒⇒ SistemaSistema elegidoelegido enen elel LaboratorioLaboratorio
77
ComponentesComponentes necesariosnecesarios UAUA ParaPara hacerhacer queque PostgreSQLPostgreSQL funcionefuncione
ComponentesComponentes necesariosnecesarios
UAUA
ParaPara hacerhacer queque PostgreSQLPostgreSQL funcionefuncione correctamentecorrectamente sese
necesita:necesita:
••
••
••
••
••
SistemaSistema OperativoOperativo oo emuladoremulador compatible.compatible.
SistemaSistema dede comunicacicomunicacióónn entreentre procesosprocesos IPCIPC
SistemaSistema servidorservidor PostgreSQLPostgreSQL ((postmasterpostmaster oo pg_ctlpg_ctl).).
SistemaSistema dede comunicacionescomunicaciones TCP/IPTCP/IP
SistemaSistema clientecliente enen modomodo consolaconsola ((pSQLpSQL)) oo enen modomodo grgrááficofico
((pgAdminpgAdmin).).
88
InstalaciInstalacióónn dede PostgreSQLPostgreSQL enen WindowsWindows UAUA DescargarDescargar elel binariobinario dede
InstalaciInstalacióónn dede PostgreSQLPostgreSQL enen WindowsWindows
UAUA
DescargarDescargar elel binariobinario dede instalaciinstalacióónn yy descomprimirdescomprimir
EjecutarEjecutar elel programaprograma dede instalaciinstalacióón.n.
SeSe inicializainicializa elel procesoproceso dede instalaciinstalacióón.n.
99
InstalaciInstalacióónn dede PostgreSQLPostgreSQL enen WindowsWindows UAUA SeSe dejandejan laslas opcionesopciones
InstalaciInstalacióónn dede PostgreSQLPostgreSQL enen WindowsWindows
UAUA
SeSe dejandejan laslas opcionesopciones porpor defectodefecto
1010
InstalaciInstalacióónn dede PostgreSQLPostgreSQL enen WindowsWindows UAUA SeSe dejandejan laslas opcionesopciones
InstalaciInstalacióónn dede PostgreSQLPostgreSQL enen WindowsWindows
UAUA
SeSe dejandejan laslas opcionesopciones porpor defectodefecto
1111
InstalaciInstalacióónn dede PostgreSQLPostgreSQL enen WindowsWindows UAUA SeSe introduceintroduce lala
InstalaciInstalacióónn dede PostgreSQLPostgreSQL enen WindowsWindows
UAUA
SeSe introduceintroduce lala contrasecontraseññaa deldel usuariousuario postgrespostgres,, queque enen elel
casocaso deldel laboratoriolaboratorio eses postgrespostgres
1212
InstalaciInstalacióónn dede PostgreSQLPostgreSQL enen WindowsWindows UAUA SeSe inicializainicializa elel
InstalaciInstalacióónn dede PostgreSQLPostgreSQL enen WindowsWindows
UAUA
SeSe inicializainicializa elel clustercluster dede lala basebase dede datosdatos yy sese introduceintroduce lala
passwordpassword deldel superusuariosuperusuario dede lala basebase dede datosdatos yy sese
instalainstala elel lenguajelenguaje procedimentalprocedimental disponibledisponible asasíí comocomo loslos
mmóódulosdulos dede contribucicontribucióónn disponiblesdisponibles (dejar(dejar porpor defecto).defecto).
1313
InstalaciInstalacióónn dede PostgreSQLPostgreSQL enen WindowsWindows UAUA EnEn loslos programasprogramas dede
InstalaciInstalacióónn dede PostgreSQLPostgreSQL enen WindowsWindows
UAUA
EnEn loslos programasprogramas dede inicioinicio estestáánn laslas herramientasherramientas parapara
interactuarinteractuar concon PostgreSQLPostgreSQL::
••
••
••
••
ConsolaConsola pSQLpSQL
pgAdminpgAdmin
IniciarIniciar // PararParar elel servidor.servidor.
StackStack BuilderBuilder
1414
InstalaciInstalacióónn dede PostgreSQLPostgreSQL enen WindowsWindows UAUA StackStack BuilderBuilder 2.02.0 1515
InstalaciInstalacióónn dede PostgreSQLPostgreSQL enen WindowsWindows
UAUA
StackStack BuilderBuilder 2.02.0
1515
InstalaciInstalacióónn dede PostgreSQLPostgreSQL enen WindowsWindows UAUA 1616
InstalaciInstalacióónn dede PostgreSQLPostgreSQL enen WindowsWindows
UAUA
1616
CreaciCreacióónn dede unauna basebase dede datosdatos UAUA ParaPara crearcrear unauna basebase dede datosdatos hayhay
CreaciCreacióónn dede unauna basebase dede datosdatos
UAUA
ParaPara crearcrear unauna basebase dede datosdatos hayhay queque asegurarseasegurarse dede queque
elel servidorservidor dede basebase dede datosdatos estestáá cargadocargado ee indicarindicar elel
nombrenombre dede lala basebase dede datosdatos concon elel comandocomando createdbcreatedb ,,
desdedesde lala consolaconsola dede sistemasistema dede windowswindows
Ejemplo:Ejemplo: createdbcreatedb LaboratorioLaboratorio
1717
AccesoAcceso dede lala basebase dede datosdatos UAUA SeSe puedepuede accederacceder mediantemediante consolaconsola
AccesoAcceso dede lala basebase dede datosdatos
UAUA
SeSe puedepuede accederacceder mediantemediante consolaconsola unauna vezvez queque lala basebase
dede datosdatos hayahaya sidosido creadacreada
Ejemplo:Ejemplo: psqlpsql <nombre<nombre dede lala basebase dede datos>datos>
1818
ConexiConexióónn concon pgAdminpgAdmin UAUA PrimeroPrimero asegurarseasegurarse dede queque elel servidorservidor
ConexiConexióónn concon pgAdminpgAdmin
UAUA
PrimeroPrimero asegurarseasegurarse dede queque elel servidorservidor estestáá cargadocargado yy
escuchandoescuchando laslas posiblesposibles conexionesconexiones queque puedanpuedan ocurrirocurrir
SeSe debedebe dede solicitarsolicitar lala conexiconexióónn concon elel servidor.servidor.
1919
ConexiConexióónn concon pgAdminpgAdmin UAUA UtilizarUtilizar elel botbotóónn derechoderecho deldel ratratóónn yy
ConexiConexióónn concon pgAdminpgAdmin
UAUA
UtilizarUtilizar elel botbotóónn derechoderecho deldel ratratóónn yy utilizarutilizar conectarconectar parapara
navegarnavegar porpor lala basebase dede datos.datos.
2020
PuestaPuesta enen marchamarcha enen sistemasistema ficherosficheros FATFAT UAUA PostgreSQLPostgreSQL sese
PuestaPuesta enen marchamarcha enen sistemasistema ficherosficheros
FATFAT
UAUA
PostgreSQLPostgreSQL sese instalainstala comocomo servicioservicio enen sistemassistemas dede archivosarchivos
NTFSNTFS
ParaPara sistemassistemas FATFAT hayhay queque arrancarloarrancarlo manualmente:manualmente:
1.1. CrearCrear cuentacuenta dede usuarusuarioio nono administrador.administrador.
2.2. InicializarInicializar elel clustercluster dede lala basebase dede datos.datos.
InitdbInitdb ––DD directorio_datosdirectorio_datos
3.3. ArrancarArrancar elel servidorservidor
PostmasterPostmaster ––DD directorio_datosdirectorio_datos
4.4. CrearCrear usuariousuario (role)(role) dede lala basebase dede datosdatos
CreateuserCreateuser ––PP passwordpassword nombre_rolenombre_role
VerVer documentacidocumentacióónn postgreSQLpostgreSQL:: ServerServer RunRun--TimeTime EnvironmentEnvironment
2121