Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 232060
Collapse All | Expand All

(-)postgres-howto.xml (-39 / +45 lines)
Lines 44-52 Link Here
44
<c>PostgreSQL</c>. Las ventajas de uno sobre el otro suele traer un
44
<c>PostgreSQL</c>. Las ventajas de uno sobre el otro suele traer un
45
debate largo y tendido, sin embargo es justo decir que PostgreSQL ha
45
debate largo y tendido, sin embargo es justo decir que PostgreSQL ha
46
tenido una concepción más firme de lo que supone son las verdaderas
46
tenido una concepción más firme de lo que supone son las verdaderas
47
estructuras que corresponden a un manejadore de bases de datos
47
estructuras que corresponden a un manejador de bases de datos
48
relacional que MySQL. La mayoría de las características standard como
48
relacional que MySQL. La mayoría de las características estándar como
49
<b>FOREIGN KEY</b> fueron apenas agregados en MySQL versión 5. Sin
49
<b>FOREIGN KEY</b> fueron apenas agregadas en MySQL versión 5. Sin
50
embargo, cualesquiera sea el caso, este documento asume que ha
50
embargo, cualesquiera sea el caso, este documento asume que ha
51
seleccionado PostgreSQL como el manejador de bases de dato que va a
51
seleccionado PostgreSQL como el manejador de bases de dato que va a
52
utilizar. El primer lugar donde comenzar es el proceso
52
utilizar. El primer lugar donde comenzar es el proceso
Lines 63-69 Link Here
63
<p>
63
<p>
64
Para comenzar debemos primero hacer <c>emerge</c> al paquete
64
Para comenzar debemos primero hacer <c>emerge</c> al paquete
65
PostgreSQL. Para hacer esto, ejecute primero el siguiente comando para
65
PostgreSQL. Para hacer esto, ejecute primero el siguiente comando para
66
asegurar que las opciones necesarios están correctamente configuradas:
66
asegurar que las opciones necesarias están correctamente configuradas:
67
</p>
67
</p>
68
68
69
<pre caption="Revisando las opciones para construir PostgreSQL">
69
<pre caption="Revisando las opciones para construir PostgreSQL">
Lines 184-197 Link Here
184
  <ti>zlib</ti>
184
  <ti>zlib</ti>
185
  <ti>
185
  <ti>
186
    Esta opción realmente no se utiliza por PostgreSQL, sino por el
186
    Esta opción realmente no se utiliza por PostgreSQL, sino por el
187
    comando <c>pg_dump</c> para comprimir las descargas de data
187
    comando <c>pg_dump</c> para comprimir las descargas de datos
188
    producidas.
188
    producidas.
189
  </ti>
189
  </ti>
190
</tr>
190
</tr>
191
</table>
191
</table>
192
192
193
<p>
193
<p>
194
Una vez afinado la construcción de PostgreSQL a sus necesidades
194
Una vez afinada la construcción de PostgreSQL a sus necesidades
195
específicas, continúe con el <c>emerge</c>:
195
específicas, continúe con el <c>emerge</c>:
196
</p>
196
</p>
197
197
Lines 350-357 Link Here
350
</pre>
350
</pre>
351
351
352
<p>
352
<p>
353
La base de datos fue creata exitosamente y podemos confirmar que la
353
La base de datos fue creada exitosamente y podemos confirmar que la
354
base de datos puede rllevar a cabo tareas básicaS. Seguiremos con
354
base de datos puede llevar a cabo tareas básicas. Seguiremos con
355
un drop (borrando) la base de datos con el comando <c>dropdb</c>:
355
un drop (borrando) la base de datos con el comando <c>dropdb</c>:
356
</p>
356
</p>
357
357
Lines 375-393 Link Here
375
<body>
375
<body>
376
376
377
<p>
377
<p>
378
Tal como mensionamos anteriormente, teniendo que hacer login como el
378
Tal como mencionamos anteriormente, teniendo que hacer login como el
379
usuario postgres no es deseable en un entorno multi-usuario. In la
379
usuario postgres no es deseable en un entorno multi-usuario. En la
380
mayoría de los casos habrán varios usuarios y servicios con acceso al
380
mayoría de los casos habrá varios usuarios y servicios con acceso al
381
servidor y cada uno tendrá distintas necesidades y permisos. Para
381
servidor y cada uno tendrá distintas necesidades y permisos. Para
382
manejar esta sicuación se utiliza el comando <c>createuser</c>. Est
382
manejar esta situación se utiliza el comando <c>createuser</c>. Este
383
comando es una alternativa al uso de algunas consultas SQL y es más
383
comando es una alternativa al uso de algunas consultas SQL y es más
384
flexible desde el punto de vista del administrador. Continuaremos
384
flexible desde el punto de vista del administrador. Continuaremos
385
creando dos usuarios, un 'superusario' que a su vez puede agregar
385
creando dos usuarios, un 'superusario' que a su vez puede agregar
386
otros usuarios y administrar la base de datos y un usuario normal:
386
otros usuarios y administrar la base de datos y un usuario normal:
387
</p>
387
</p>
388
388
389
<pre caption="Configurando un superuser">
389
<pre caption="Configurando un superusuario">
390
<comment>(reemplace a chris con el usuario que desea usar)</comment>
390
<comment>(reemplace a chris con el usuario que desea crear)</comment>
391
$ <i>createuser -a -d -P -E -U postgres -W chris</i>
391
$ <i>createuser -a -d -P -E -U postgres -W chris</i>
392
Enter password for new user:
392
Enter password for new user:
393
Enter it again:
393
Enter it again:
Lines 435-441 Link Here
435
Ahora tenemos un usuario que puede crear bases de datos y agregar
435
Ahora tenemos un usuario que puede crear bases de datos y agregar
436
otros usuarios y el principal usuario postgres que puede hacer
436
otros usuarios y el principal usuario postgres que puede hacer
437
cualquier cosa. El usuario creado anteriormente puede hacer login al
437
cualquier cosa. El usuario creado anteriormente puede hacer login al
438
servidor y más nada. En general, los usuarios necesitan insertar y
438
servidor y nada más. En general, los usuarios necesitan insertar y
439
recuperar datos y a veces hacer otras tareas. Para que este usuario
439
recuperar datos y a veces hacer otras tareas. Para que este usuario
440
nuevo pueda hacer algo, debemos establecer los permisos
440
nuevo pueda hacer algo, debemos establecer los permisos
441
adecuados. Esto se puede hacer fácilmente pasando el parámetro
441
adecuados. Esto se puede hacer fácilmente pasando el parámetro
Lines 454-461 Link Here
454
Bien, ahora tenemos la base de datos MyDB y al usuario testuser que
454
Bien, ahora tenemos la base de datos MyDB y al usuario testuser que
455
tiene acceso a ella. Para probar esto, haremos login como testuser a
455
tiene acceso a ella. Para probar esto, haremos login como testuser a
456
la nueva base de datos con el programa <c>psql</c>. Este programa es
456
la nueva base de datos con el programa <c>psql</c>. Este programa es
457
lo usado para conectarse a una base de datos PostgreSQL desde la línea
457
el usado para conectarse a una base de datos PostgreSQL desde la línea
458
de comando. Para establecer la conexión a la nueva base de datos
458
de comandos. Para establecer la conexión a la nueva base de datos
459
haremos:
459
haremos:
460
</p>
460
</p>
461
461
Lines 474-483 Link Here
474
</pre>
474
</pre>
475
475
476
<p>
476
<p>
477
Ahora que testuser está conectado al la base de datos puede comenzar a
477
Ahora que testuser está conectado a la base de datos puede comenzar a
478
ejecutar algunos comandos. Para ir viendo cómo es el manejo de
478
ejecutar algunos comandos. Para ir viendo cómo es el manejo de
479
PostgreSQL, la siguiente sección mostrará algunos de los comandos
479
PostgreSQL, en la siguiente sección se mostrarán algunos comandos
480
básicos al nacegar con el cliente <c>psql</c>.
480
básicos cuando naveguemos con el cliente <c>psql</c>.
481
</p>
481
</p>
482
</body>
482
</body>
483
</section>
483
</section>
Lines 496-502 Link Here
496
<table>
496
<table>
497
<tr>
497
<tr>
498
  <th>Comando</th>
498
  <th>Comando</th>
499
  <th>Usoe</th>
499
  <th>Uso</th>
500
  <th>Equivalente MySQL</th>
500
  <th>Equivalente MySQL</th>
501
</tr>
501
</tr>
502
<tr>
502
<tr>
Lines 516-522 Link Here
516
</tr>
516
</tr>
517
<tr>
517
<tr>
518
  <ti>\o [FILE]</ti>
518
  <ti>\o [FILE]</ti>
519
  <ti>Envíe los resultados de la consulta al archivo <c>FILE</c></ti>
519
  <ti>Envía los resultados de la consulta al archivo <c>FILE</c></ti>
520
  <ti>INTO OUTFILE, pero graba todo (no solo los SELECT)</ti>
520
  <ti>INTO OUTFILE, pero graba todo (no solo los SELECT)</ti>
521
</tr>
521
</tr>
522
<tr>
522
<tr>
Lines 535-541 Link Here
535
</table>
535
</table>
536
536
537
<p>
537
<p>
538
Con la excepción de <c>\c[onnect]</c>, todos los comandos se usarán más adelante en esta sección. Hasta ahora, la base de datos está vacía y dicho esto, necesitamos insertar alguna data. Sin embargo, el primer paso para insertar data es colocarla en una tabla. En este momento no tenemos tablas en la base de datos, por lo que debemos crear una. Esto lo hacemos con el comando <c>CREATE TABLE</c>.  Crearemos una table de ítems, que contendrá los campos Product ID, Description y price:
538
Con la excepción de <c>\c[onnect]</c>, todos los comandos se usarán más adelante
539
en esta sección. Hasta ahora, la base de datos está vacía y dicho esto, 
540
necesitamos insertar alguna datos. Sin embargo, el primer paso para insertar
541
datos es colocarla en una tabla. En este momento no tenemos tablas en la base de 
542
datos, por lo que debemos crear una. Esto lo hacemos con el comando
543
<c>CREATE TABLE</c>.  Crearemos una tabla de ítems, que contendrá los campos 
544
Product ID, Description y price:
539
</p>
545
</p>
540
546
541
<pre caption="Creando la tabla products">
547
<pre caption="Creando la tabla products">
Lines 568-598 Link Here
568
574
569
<p>
575
<p>
570
De hecho, la tabla fue creada exitosamente. Habiendo cumplido este
576
De hecho, la tabla fue creada exitosamente. Habiendo cumplido este
571
paso, debe ser poblada con data. La siguiente sección tratará este
577
paso, debe ser poblada con datos. La siguiente sección tratará este
572
tema.
578
tema.
573
</p>
579
</p>
574
</body>
580
</body>
575
</section>
581
</section>
576
582
577
<section>
583
<section>
578
<title>Insertando la data en la base de datos</title>
584
<title>Insertando la datos en la base de datos</title>
579
<body>
585
<body>
580
586
581
<p>
587
<p>
582
Esta sección examinará dos maneras de poblar la tabla recién creada
588
Esta sección examinará dos maneras de poblar la tabla recién creada
583
con data. Primero veamos el comando más básico, <c>INSERT</c>:
589
con datos. Primero veamos el comando más básico, <c>INSERT</c>:
584
</p>
590
</p>
585
591
586
<pre caption="Sintaxis de INSERT">
592
<pre caption="Sintáxis de INSERT">
587
INSERT INTO [tablename] (column1,column2,column3) VALUES(value1,value2,value3)
593
INSERT INTO [tablename] (column1,column2,column3) VALUES(value1,value2,value3)
588
</pre>
594
</pre>
589
595
590
<p>
596
<p>
591
<c>tablename</c> contiene el nombre de la tabla a la cual insertaremos
597
<c>tablename</c> contiene el nombre de la tabla en la cual insertaremos
592
data. (column1,column2,column3) permite especificar las columnas
598
datos. (column1,column2,column3) permite especificar las columnas
593
específicas a las cuales insertar los
599
específicas en las cuales insertar los
594
valores. VALUES(value1,value2,value3) es el listado de los
600
valores. VALUES(value1,value2,value3) es el listado de los
595
valores. Estos valores estan en el mismo orden que el orden de las
601
valores. Estos valores estan en el mismo orden que las
596
columnas (column1 recibe value1, column2 recibe value2, column3 recibe
602
columnas (column1 recibe value1, column2 recibe value2, column3 recibe
597
value3). La cuenta de columnas y valores <e>debe</e> ser
603
value3). La cuenta de columnas y valores <e>debe</e> ser
598
igual. Continuemos e insertemos un ítem en la tabla:
604
igual. Continuemos e insertemos un ítem en la tabla:
Lines 609-615 Link Here
609
columnas a no ser que esté 300% seguro que nunca agregará una columna.
615
columnas a no ser que esté 300% seguro que nunca agregará una columna.
610
</impo>
616
</impo>
611
617
612
<pre caption="Insertando data en la tabla">
618
<pre caption="Insertando datos en la tabla">
613
MyDB=&gt; <i>INSERT INTO products (description,price) VALUES('A test product', 12.00);</i>
619
MyDB=&gt; <i>INSERT INTO products (description,price) VALUES('A test product', 12.00);</i>
614
INSERT 17273 1
620
INSERT 17273 1
615
</pre>
621
</pre>
Lines 638-649 Link Here
638
644
639
<p>
645
<p>
640
Ahora usaremos el comando <c>COPY</c> para poblar nuestra tabla con
646
Ahora usaremos el comando <c>COPY</c> para poblar nuestra tabla con
641
data:
647
datos:
642
</p>
648
</p>
643
649
644
<impo>
650
<impo>
645
El comando <c>COPY FROM STDIN</c> se usa porque solamente el usuario
651
El comando <c>COPY FROM STDIN</c> se usa porque solamente el usuario
646
postgres puede insertar data de un archivo (obviamente por razones de
652
postgres puede insertar datos de un archivo (obviamente por razones de
647
seguridad).
653
seguridad).
648
</impo>
654
</impo>
649
655
Lines 660-667 Link Here
660
<p>
666
<p>
661
Desafortunadamente esta línea no retorna la misma información de
667
Desafortunadamente esta línea no retorna la misma información de
662
resultado que el enunciado <c>INSERT INTO</c>. Entonces ¿cómo sabremos
668
resultado que el enunciado <c>INSERT INTO</c>. Entonces ¿cómo sabremos
663
si la data fue insertada? La siguiente sección examinará cómo realizar
669
si los datos fueron insertados? La siguiente sección examinará cómo realizar
664
consultas para revisar nuestra data.
670
consultas para revisar nuestros datos.
665
</p>
671
</p>
666
</body>
672
</body>
667
</section>
673
</section>
Lines 672-678 Link Here
672
678
673
<p>
679
<p>
674
Esta sección mostrará cómo usar el enunciado <c>SELECT</c> para
680
Esta sección mostrará cómo usar el enunciado <c>SELECT</c> para
675
visualizar la data en nuestras tablas. El formato básico <c>SELECT</c>
681
visualizar los datos en nuestras tablas. El formato básico <c>SELECT</c>
676
es así:
682
es así:
677
</p>
683
</p>
678
684
Lines 681-687 Link Here
681
</pre>
687
</pre>
682
688
683
<p>
689
<p>
684
Existen dos manera de seleccionar columnas. La primera usa el <c>*</c>
690
Existen dos maneras de seleccionar columnas. La primera usa el <c>*</c>
685
para seleccionar todas la columnas y la segunda especifica una lista
691
para seleccionar todas la columnas y la segunda especifica una lista
686
de columnas que desea ver. La segunda es muy práctica cuando desea
692
de columnas que desea ver. La segunda es muy práctica cuando desea
687
encontrar una columna específica en una lista larga. Comenzamos usando
693
encontrar una columna específica en una lista larga. Comenzamos usando
Lines 735-741 Link Here
735
741
736
<p>
742
<p>
737
Ahora vemos un listdo de productos cuyo precio es mayor a $2.00,
743
Ahora vemos un listdo de productos cuyo precio es mayor a $2.00,
738
permitiéndonos enfocar aún más en la data. Esta formas de consulta de
744
permitiéndonos enfocar aún más en los datos. Estas formas de consulta de
739
información son muy poderosas y pueden ayudar a crear informes
745
información son muy poderosas y pueden ayudar a crear informes
740
extremadamente útiles.
746
extremadamente útiles.
741
</p>
747
</p>

Return to bug 232060