Preguntas

From PostgreSQL Wiki

Jump to: navigation, search

Contents

Página Oficial de Preguntas Frecuentes

Esta es la traduccion de la página oficial de Preguntas Frecuentes(FAQ's) que se encuentra en migrada al wiki. Para todas aquellas preguntas que no se encuentran listadas en esta página se puede consultar: Preguntas Frecuentes en el Sitio Oficial.

General

Plataforma


Varios



Preguntas Generales

         Preguntas Frecuentes (FAQ) de PostgreSQL
  Ultima actualizacion: Tue Sep 23 16:19:49 EDT 2008
  Mantenedor actual: Bruce Momjian (bruce@momjian.us)
  La mas reciente version de este documento puede ser vista en
  http://www.postgresql.org/files/documentation/faqs/FAQ.html.
  Preguntas de Plataformas especificas son respondidas en
  http://www.postgresql.org/docs/faq/.
  _________________________________________________________________
                            Preguntas Generales
  1.1) ¿Que es PostgreSQL, Como se pronuncia, ¿Que es PostgreSQL?
  1.2) ¿Quien Controla PostgreSQL?
  1.3) ¿Que es el copyright de PostgreSQL?
  1.4) ¿Que plataformas soporta PostgreSQL?
  1.5) ¿Donde puedo obtener PostgreSQL?
  1.6) ¿Cuál es el más reciente release?
  1.7) ¿Donde puedo obtener soporte?
  1.8) ¿Comó puedo enviar un reporte de error?
  1.9) ¿Como puedo encontrar información acerca de errores conocidos
         o de características desaparecidas?
  1.10) ¿Que documentacion esta disponible?
  1.11) ¿Como puedo aprender SQL?
  1.12) ¿Cómo puedo enviar un parche o unirme ha el equipo de
        desarrollo?
  1.13) ¿Cómo comparar a PostgreSQL con otros DBMs? PostgreSQL puede
        ser embebido?
  1.14) ¿Puede postgreSQL manejar los recientes cambios de horario
        daylight en varios paises y guardarlos?
  1.15) ¿Qué debo hacer para darme de baja de las listas de correo de
        PostgreSQL?,¿Qué debo hacer para evitar la duplicación en
        la recepción de mensajes de correo?
                          Preguntas Usuario Cliente
  2.1) ¿Que interfaces estan disponibles para PostgreSQL?
  2.2) ¿Que herramientas estan disponibles para usar PostgreSQL
       con paginas Web?
  2.3) ¿PostgreSQL tiene una interfaz grafica de usuario?
                          Preguntas Administrativas
  3.1) ¿Cómo puedo instalar PostgreSQL en un lugar diferente a
        /usr/local/pgsql?
  3.2) ¿Cómo puedo controlar las conexiones desde otros hosts?
  3.3) ¿Cómo puedo ajustar el motor de base de datos para un mejor
       rendimiento?
  3.4) ¿Qué características de depuración están disponibles?
  3.5) ¿Por qué obtengo "Lo siento, demasiados clientes" cuando
       intento conectarme?
  3.6) ¿Cuál es el proceso de actualización de PostgreSQL?
  3.7) ¿Que hardware de computador debo utilizar?
                          Preguntas Operativas
  4.1) ¿Cómo puedo selecionar sólo las primeras filas de una consulta?
       Y al azar en una fila?
  4.2) ¿Cómo puedo saber qué tablas, índices, bases de datos,
       y usuarios estan definidos?
       ¿Cómo puedo ver las consultas utilizadas por psql para
        mostrarlos?
  4.3) ¿Cómo cambiar el tipo de datos de una columna?
  4.4) ¿Cuál es el tamaño máximo de una fila, una tabla,
       y una base de datos?
  4.5) ¿Cuánto espacio de disco es necesario en una base de datos
       para almacenar los datos desde un archivo de texto típico?
  4.6) ¿Por qué mis consultas son lentas? ¿Por qué no usan mis índices?
  4.7) ¿Qué debo hacer para ver cómo el optimizador de consultas
       está evaluando mis consultas?
  4.8) How do I perform regular expression searches and case-insensitive
       regular expression searches? How do I use an index for
       case-insensitive searches?
  4.9) En una consulta, ¿cómo puedo detectar si un campo es NULL?
       ¿Como puedo concatenar valores NULL? ¿Cómo puedo ordenar sobre
       si un campo que es NULL o no?
  4.10) ¿Cual es la diferencia entre los varios tipos de caracteres?
  4.11.1) ¿Cómo puedo crear un campo serial/auto-creciente?
  4.11.2) ¿Cómo puedo obtener el valor de insertar un SERIAL?
  4.11.3) Currval() No puede conducir en una condición de carrera
          con otros usuarios?
  4.11.4) ¿Por qué no son mis números de secuencia reutilizados
           en una transacción abortada?
          ¿Por qué existen lagunas en la numeración de mi columna
           secuencia/SERIAL ?
  4.12) ¿Que es un OID? Que es un CTID?
  4.13) ¿Por qué obtengo el error "ERROR: Memoria agotada en
         AllocSetAlloc()"?
  4.14) ¿Cómo puedo saber qué versión de PostgreSQL estoy corriendo?
  4.15) ¿Cómo puedo crear una columna que se tome por defecto la hora actual?
  4.16) ¿Cómo puedo realizar un outer join?
  4.17) ¿Qué debo hacer para realizar consultas utilizando múltiples bases de datos?
  4.18) ¿Cómo puedo regresar multiples filas o columnas desde una función?
  4.19) ¿Por qué obtengo "relación con OID ##### no existe" errores
         cuando se accede a tablas temporales en funciones PL/PgSQL?
  4.20) ¿Qué soluciones de replicación están disponibles?
  4.21) ¿Por qué mis tablas y nombres de columna no son reconocidos en mi consulta?
        ¿Por qué no es conservada la capitalización?
  _________________________________________________________________
                      Preguntas Generales
  1.1) Que es PostgreSQL? Cual es su pronunciacion? Que es Postgres?
 
  PostgreSQL es pronunciado Post-Gres-Q-L. (Para aquellos curiosos acerca
  de como se dice "PostgreSQL", un archivo de audio esta disponible.)
  PostgreSQL es un sistema de bases de datos objeto-relacional las
  características de los sistemas de bases de datos comerciales que
  se encuentran con mejoras en la próxima generación de sistemas de DBMS.
  PostgreSQL es libre y su codigo fuente completo esta disponible.
  El desarrollo de PostgreSQL es realizado por un equipo en su mayoría
  de desarrolladores voluntarios extendido por todo el mundo y
  comunicacandose via Internet.Se trata de un proyecto de la comunidad
  y no está controlado por ningúna compañía. Para participar,vea las FAQ
  de los desarrolladores en http://www.postgresql.org/docs/faqs.FAQ_DEV.html.
  Postgres es ampliamente utilizado como un alias para PostgreSQL.
  Era el nombre original del proyecto en Berkeley y es fuertemente
  preferido sobre otros alias.Si encuentra "PostgreSQL" difícil de
  pronunciar,llamalo "Postgres" en su lugar.
  1.2) Quien controla PostgreSQL?
  Si usted está buscando un gatekeeper PostgreSQL, un comité central,
  o una compañia  de control, renuncie--- no hay una. Tenemos un núcleo
  committee y CVS committers, pero estos grupos son más de propositos
  administrativos que de control. El proyecto está dirigido
  por la comunidad de desarrolladores y usuarios, en la que cualquiera
  puede participar. Todo lo que necesitas hacer es suscribirte a las
  listas de correo y participar en los debates.(Véase el Developer's
  FAQ para más información sobre cómo involucrarse en el desarrollo
  de PostgreSQL.)
  1.3) Que es el copyright de PostgreSQL?
  PostgreSQL es distribuido bajo la clasica licencia BSD. Basicamente,
  esto permite a los usuarios hacer lo que quieran con el código,
  incluyendo la reventa de los binarios sin el código fuente.
  La única restricción es que no somos legalmente responsables de los
  problemas que usted tenga con el software.También existe el requisito
  de que este copyright aparezca en todas las copias
  del software. Aquí está la licencia BSD que usamos:
  PostgreSQL Data Base Management System
  Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
  Portions Copyright (c) 1994-1996 Regents of the University of
  California
  Permission to use, copy, modify, and distribute this software and its
  documentation for any purpose, without fee, and without a written
  agreement is hereby granted, provided that the above copyright notice
  and this paragraph and the following two paragraphs appear in all
  copies.
  IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY
  FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
  INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND
  ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN
  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
  PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
  CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
  UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
  1.4) Que plataformas soporta PostgreSQL?
  En general,cualquier plataforma moderna tipo Unix debe ser capaz de
  ejecutar PostgreSQL.Las plataformas que habían recibido pruebas explícitas
  a la hora de la liberación se enumeran en las instrucciones de instalación.
  PostgreSQL también corre de forma nativa en sistemas operativos basados
  en Microsoft Windows NT como Win2000 SP4, WinXP, y Win2003. Un instalador
  precompilado está disponible en http://www.postgresql.org/download/windows.
  Las versiones de Windows basadas en MSDOS (Win95, Win98, WinME) pueden correr
  PostgreSQL usando Cygwin.
  También hay un port para Novell Netware 6 en:
  http://developer.novell.com/wiki/index.php/Postgresql, and an OS/2
  (eComStation) version at
  http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgre
  SQL&stype=all&sort=type&dir=%2F.
  1.5) ¿Donde puedo obtener PostgreSQL?
  Via navegador web, use http://www.postgresql.org/ftp/, y via ftp, use
  ftp://ftp.postgresql.org/pub/.
  1.6) ¿Cuál es el más reciente release?
  El último release de PostgreSQL es la version 8.3.3.
  Tenemos planeado tener una versión cada año, con emisiones menores cada
  pocos meses.
  1.7) ¿Donde puedo obtener soporte?
  La comunidad PostgreSQL provee asistencia ha muchos de sus usuarios via
  email. El principal sitio web para suscribirse a las listas es:
  http://www.postgresql.org/community/lists/. La lista general o bugs es
  un buen lugar para comenzar.
  El mayor canal IRC es #postgresql en Freenode (irc.freenode.net).
  Para conectarse usted puede usar el programa Unix
  irc -c '#postgresql' "$USER" irc.freenode.net o usando otros clientes IRC.
  Y un canal en  español también existe en la misma red, (#postgresql-es),
  y uno en frances,(#postgresqlfr), y uno en Portugues, (#postgresql-br).
  También hay un canal de PostgreSQL en EFnet.
  Una lista de compañias de soporte comercial esta disponible en:
  http://www.postgresql.org/support/professional_support.
   1.8) ¿Cómo puedo enviar un informe de error?
   Visite el formulario de errores de Postgresql en:
   http://www.postgresql.org/support/submitbug.También verifique nuestro sitio:
   ftp; ftp://ftp.postgresql.org/pub/ para ver si hay una versión más reciente de
   PostgreSQL.


   La presentacion de errores utilizando el formulario de errores o postandolo
   en cualquier lista de correo de PostgreSQL, tipicamente genera
   una de las siguientes respuestas:
   * No es un error, y por qué
   * Se trata de un error conocido y ya está en la lista de cosas por hacer (TODO list).
   * El error ha sido corregido en la versión actual
   * El error ha sido reparado, pero no es todavía empaquetado en una liberacion oficial
   * Una petición se hace para obtener información más detallada:
      + Sistema operativo
      + Versión de PostgreSQL
      + Caso de test reproducible
      + Información de depuración
      + Salida del depurador Backtrace
   * El error es nuevo.Lo siguiente puede ocurrir:
      + Un parche es creado y se incluirá en la próxima mayor o menor liberación.
      + El error no puede ser corregido de inmediato y se añade a TODO list.
  1.9) ¿Cómo puedo encontrar información acerca de errores conocidos
       o de características desaparecidas?
  PostgreSQL soporta un subconjunto extendido de SQL:2003. Vea nuestra
  TODO list para errores conocidos, características desaparecidas,
  y planes para el futuro.
  Una solicitud de caracteristica suele resultar en una de las siguientes respuestas:
  * La característica ya está en TODO list
  * La característica  no es la deseada debido a que:
    + Se duplica la funcionalidad existente ya que sigue el estándar SQL.
    + La característica aumentaría la complejidad del código, pero añadiria poco
      beneficio.
    + La característica sería poco fiable o insegura
  * La nueva característica se añade a TODO list
    PostgreSQL no utiliza un sistema de seguimiento de errores, porque
    consideramos que es más eficiente responder directamente por la dirección
    de correo electrónico y mantener Todo list  actualizado. En la práctica,
    los errores no duran mucho tiempo en el software,y los errores que afectan
    a un gran número de usuarios se corrigen rápidamente. El único lugar para
    encontrar todos los cambios, mejoras, y correciones en PostgreSQL es la
    liberación para leer los mensajes de registro del CVS. Incluso la liberación
    no toma nota de la lista de cada cambio realizado al software.
  1.10) ¿Que documentación está disponible?
  PostgreSQL incluye extensa documentación, incluyendo un  enorme manual,
  paginas man, y algunos test de ejemplos. Vea el directorio /doc.También
  puede navegar por los manuales en línea en
  http://www.postgresql.org/docs.
  Hay dos libros de PostgreSQL disponibles en línea en
  http://www.postgresql.org/docs/books/awbook.html y
  http://www.commandprompt.com/ppbook/. Hay un numero de libros de PostgreSQL
  disponibles para su compra. Uno de los más populares es por Korry
  Douglas.Una lista de reseñas de libros se puede encontrar en
  http://www.postgresql.org/docs/books/.
  También hay una colección de artículos técnicos de PostgreSQL en
  http://wiki.postgresql.org/wiki/Community_Generated_Articles%2C_Guides
  %2C_and_Documentation.
  El programa cliente de línea de comandos psql tiene algunos comandos(\d)
  para mostrar información acerca de tipos,operadores,funciones,agregados,etc.
  Use \? para mostrar los comandos disponibles.
  Nuestro sitio web contiene aún más documentación.
  1.11) ¿Como puedo aprender SQL?
  Primero, considerar los libros especificos de PostgreSQL mencionados anteriormente. Muchos de
  nuestros usuarios tambien gustan de The Practical SQL Handbook, Bowman, Judith S., editado
  por.,Addison-Wesley.Otros,gustan de The Complete Reference SQL, Groff editado por., McGraw-Hill.
   También hay muchos tutoriales agradables disponibles en línea:
   * http://www.intermedia.net/support/sql/sqltut.shtm
   * http://sqlcourse.com
   * http://www.w3schools.com/sql/default.asp
   * http://mysite.verizon.net/Graeme_Birchall/id1.html
   * http://sqlzoo.net
  1.12) ¿Cómo puedo enviar un parche o unirme al equipo de desarrollo?
        Vea las FAQ para desarrolladores.
  1.13)  ¿Cómo comparar a PostgreSQL con otros DBMs?, ¿PostgreSQL puede
            ser embebido?
  Hay varias maneras de medir el software: características, desempeño,
  fiabilidad, soporte,y precio.
  Características
                PostgreSQL tiene la mayoría de las características presentes en grandes DBMS,

como transacciones, subselects, disparadores, vistas, claves foráneas integridad referencial,y un sofisticado bloqueo. Tenemos algunas características que ellos no tienen, como tipos definidos por el usuario, herencia, normas, y control de concurrencia multi-version para reducir la contención de bloqueo.

  Rendimiento
                El rendimiento de PostgreSQL es comparable con otras bases de datos
                comerciales y de codigo abierto. Es más rápida para algunas cosas,
                lenta para otras.Nuestro rendimiento es usualmente +/-10% comparado
                con otras bases de datos.
  Fiabilidad
                Nos damos cuenta que un DBMS debe ser fiable, o es inútil.
                Nosotros nos esforzarmos por liberar un realease bien probado,
                el código estable que tenga un mínimo de errores.

Cada release tiene al menos un mes de pruebas beta,y nuestra historia de liberaciónes demuestra que podemos ofrecer un release estable,sólido que está listo para su uso en producción. Creemos que nos comparamos favorablemente con otros software de bases de datos en está aréa.

  Soporte
                Nuestras listas de correo proporcionan contacto con un grupo numeroso de

desarrolladores y usuarios para ayudar a resolver los problemas encontrados. Si bien no podemos garantizar una corrección, los DBMS comerciales no siempre suministran una correción cualquiera. Acceso directo a los desarrolladores, la comunidad de usuarios,manuales, y el código fuente suelen a menudo dar ha PostgreSQL un apoyo superior que otros DBMS. Hay soporte comercial disponible por incidentes para aquellos que lo necesiten. (Ver FAQ en la sección 1.7).


  Precio
                Somos libres para todos los usos, tanto comerciales como no comerciales.

Puede añadir nuestro código a su producto sin limitaciones, excepto las señaladas en nuestra licencia estilo BSD como se ha indicado anteriormente.

  PostgreSQL está diseñado como una arquitectura cliente/servidor, lo que requiere
  procesos separados para cada cliente y el servidor, y varios procesos auxiliares.
  Muchas arquitecturas embebidas pueden apoyar este tipo de requisitos.
  Sin embargo, si su arquitectura embebida requiere el servidor de base de datos para
  ejecutar dentro del proceso de solicitud, no se puede utilizar Postgres y
  seleccionar una solución ligera de base de datos.
  1.14) ¿Puede postgresql manejar los recientes cambios de horario
              daylight en varios paises y guardarlos?
  Los cambios del horario de verano de USA se incluyen en la liberación
  de PostgreSQL 8.0. [4+], y, despues  en todas las grandes emisiones,
  por ejemplo, 8.1. Los cambios en Canadá y  Australia Occidental que
  se incluyeron en 8.0.[10+],8.1.[6+],y,despues en todos
  los lanzamientos principales. La versiones anteriores a PostgreSQL 8.0
  utilizan la base de datos de la zona horaria del sistema operativo,
  para guardar la información de horario de verano.
  
  1.15) ¿Qué debo hacer para darme de baja de las listas de correo de
         PostgreSQL?
  La página de Majordomo de PostgreSQL permite la suscripción o cancelación
  de la suscripción de cualquiera de las listas de correo electrónico
  PostgreSQL.(Es posible que tenga que tener su contraseña de Majordomo
  enviada a su correo electrónico para acceder y registrarse)Todas las
  listas de correo electrónico de PostgreSQL están configuradas para que
  el grupo dé respuesta y replique a la lista de correo electrónico y al
  autor original del correo electrónico. 
  
  Esto se hace para que los usuarios reciban el mensaje de correo electrónico
  lo más rápido posible y den sus respuestas. Si usted prefiere no recibir
  un duplicado del correo electrónico de la lista, en caso de que usted ya
  haya recibido un mensaje de correo electrónico directamente,
  compruebe eliminatecc de la pagina de configuraciones de Majordomo.
  
  También usted mismo puede prevenir recibir copias de los mensajes de
  correo electrónico por usted posteados en la lista,desmarcando selfcopy.
  
 _________________________________________________________________
                     

Preguntas Usuario Cliente

  2.1) ¿Que interfaces estan disponibles para PostgreSQL?
  La instalación de PostgreSQL incluye sólo C y la interfaces embebidas de C.
  Todas las demás interfaces son proyectos independientes que se descargan
  separadamente, siendo independientes les permite tener su propia calendario
  de liberaciónes y equipos de desarrollo.
  Algunos lenguajes de programación como PHP incluyen una interfaz para
  PostgreSQL. Interfaces de lenguajes como Perl, TCL, Python, y muchos
  otros están disponibles en http://pgfoundry.org.


  2.2) ¿Que herramientas estan disponibles para usar PostgreSQL
        con paginas Web?
  Una buena introducción a la base de datos-backed por las páginas
  Web se puede ver en:
  http://www.webreview.com
  Para integracion Web, PHP (http://www.php.net) es una excelente
  interface.
  Para casos complejos, muchos usan Perl y DBD::Pg with CGI.pm y/o
  mod_perl.
  2.3) ¿PostgreSQL tiene una interfaz gráfica de usuario?
  Hay un gran número de Herramientas GUI que están disponibles para
  PostgreSQL tanto comerciales como desde desarrollos de código abierto.
  Una lista detallada se puede encontrar en la guia de herramientas GUI
  de la comunidad postgreSQL.
   _________________________________________________________________
                      Preguntas Administrativas
   3.1)  ¿Cómo puedo instalar PostgreSQL en un lugar diferente a
          /usr/local/pgsql?
   Especifique la opción --prefix cuando se ejecuta configure.
   
   3.2)  ¿Cómo puedo controlar las conexiones desde otros hosts?
   Por defecto, PostgreSQL sólo permite conexiones desde la máquina local
   usando sockets de dominio Unix o conexiones TCP/IP. Otras máquinas
   no podrá conectarse a menos que usted modifique listen_addresses en
   el archivo postgresql.conf,activar la autenticación basada en el host
   para modificar el archivo $ PGDATA/pg_hba.conf,
   y reiniciar el servidor de base de datos.
   3.3)  ¿Cómo puedo ajustar el motor de base de datos para un mejor
          rendimiento?
   Hay tres áreas principales para una potencial mejora del rendimiento:
   
   Cambios de consultas
           Esto implica modificar las consultas para obtener un mejor rendimiento:
         + Creación de indices, incluidos los de expresiones y de indices parciales
         + Uso de COPY en lugar de múltiples INSERTs 
         + Agrupación de múltiples declaraciones dentro de una sola transacción

para reducir commit overhead + Uso de CLUSTER cuando se hace la recuperación de muchas filas de un índice + Uso de LIMIT para el retorno de un subconjunto de consultas de salida + Uso de Prepared queries (Consultas preparadas?)

         + Uso de ANALYZE para mantener la precisión en las estadísticas del optimizador
         + Uso regular de VACUUM o pg_autovacuum
         + Borrado de índices durante cambios grandes de datos
   Configuración del Servidor
         Una serie de ajustes en postgresql.conf afectara su rendimiento. Para

más detalles, véase la Guía de administración / Ambiente del Servidor en tiempo de ejecución/configuración en tiempo de ejecución para un lista completa,véase los comentarios.

         http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_co
         nf_e.html and
         http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html.
  Seleccion de Hardware
         El efecto de hardware en el rendimiento se detalla en:
         http://www.powerpostgresql.com/PerfList/ and
         http://momjian.us/main/writings/pgsql/hw_performance/index.html
  3.4) ¿Qué características de depuración están disponibles?
  Hay muchas variables log_ *  de configuración del servidor en
  http://www.postgresql.org/docs/current/interactive/runtime-config-logg
  ing.html que permiten la impresión de las consultas y el tratamiento de
  las estadísticas que puede ser muy útil para la depuración y la medición
  del desempeño.
  3.5) ¿Por qué obtengo "Lo siento, demasiados clientes" cuando
        intento conectarme?
  Ha alcanzado el límite predeterminado de 100 sesiones de base de datos. 
  Usted necesita aumentar el límite del servidor sobre el número de
  procesos concurrentes backend, puede empezar por cambiar el valor
  en max_connections en postgresql.conf y reiniciar el servidor.
  
  3.6)  ¿Cuál es el proceso de actualización de PostgreSQL?
  Véase http://www.postgresql.org/support/versioning para un debate general
  acerca de la actualización, y
  http://www.postgresql.org/docs/current/static/install-upgrading.html
  para instrucciones específicas.
  3.7) ¿Que hardware de computador debo utilizar?
  Debido a que la mayoría de hardware es compatible con PC, la gente tiende
  a creer que todo el hardware de PC es de igual calidad.
  No lo es. RAM ECC , SCSI, y la calidad de las placas base son más fiables
  y tienen un mejor rendimiento y es hardware menos costoso.PostgreSQL se
  puede ejecutar en casi cualquier hardware, pero si la fiabilidad y el
  rendimiento son importantes, es prudente la investigación de su opciones
  de hardware a fondo. Nuestras listas de correo electrónico pueden ser
  utilizadas para discutir opciones de hardware y de conpensaciones.
  
    _________________________________________________________________
                       Cuestiones Operativas 
  4.1) ¿Cómo puedo seleccionar sólo las primeras filas de una consulta?
        ¿y al azar en una fila?
  Para recuperar sólo unas pocas filas, si conoce el número de líneas necesarias
  en el momento de SELECT usar LIMIT. Si un índice coincide con el ORDER BY
  es posible que la consulta entera no tenga que ser ejecutada. Si
  no se sabe el número de filas en el SELECT time, utilice un cursor y FETCH.
  
  To SELECT a random row, use:
  SELECT col
  FROM tab
  ORDER BY random()
  LIMIT 1;
  4.2) ¿Cómo puedo encontrar qué tablas, índices, bases de datos,
        y usuarios estan definidos?
  Utilice el comando \dt para ver los tablas en psql. Para obtener una lista completa
  de los comandos internos de psql puede usar \?. También puede leer el
  código fuente de psql en el archivo pgsql /src/bin/psql/describe.c, que
  contiene comandos SQL que generan la salida de la barra psql de
  comandos. También puede iniciar psql con la opción -E por lo que se imprimirá
  sin las consultas que se utiliza para ejecutar los comandos que usted da. PostgreSQL
  También proporciona un INFORMATION SHEMA compatible con SQL  interfaz que puede
  consultar para obtener información sobre la base de datos.
  También existen las tablas del sistema que comienza con pg_ que describen 
  también estas.
      
  Utilice psql-l para listar todas las bases de datos.
      Pruebe también el archivo pgsql/src/tutorial/syscat.source.
  Ilustra muchos de los SELECT necesarios para obtener información desde 
  tablas del sistema de bases de datos. 
      
  4.3) ¿Cómo cambiar el tipo de datos de una columna?
   Cambiar el tipo de datos de una columna que se puede hacer fácilmente en 8.0 y despues 
        con ALTER TABLE ALTER COLUMN TYPE. 
   En versiones anteriores, siga estos pasos:
   BEGIN;
   ALTER TABLE tab ADD COLUMN new_col new_data_type;
   UPDATE tab SET new_col = CAST(old_col AS new_data_type);
   ALTER TABLE tab DROP COLUMN old_col;
   COMMIT;
        puede que entonces quieran hacer VACUUM FULL ficha  para recuperar el espacio en disco
   utilizados por las filas vencidas.
   4.4) ¿Cuál es el tamaño máximo de una fila, una tabla, y una base de datos?
   Estos son los límites:
   ¿Tamaño maximo para una base de datos? sin limites (existen bases de datos de 32 TB)
   ¿Tamaño Maximo para una tabla? 32 TB
   ¿Tamaño Maximo para una fila? 400 GB
   ¿Tamaño maximo para un campo? 1 GB
   ¿Numero Maximo de filas en una tabla? sin limites
   ¿Numero maximo de columnas en una tabla? 250-1600 dependiendo el tipo de columna
   ¿Numero maximo de indices en una tabla? sin limites
   Por supuesto, esto realmente no es ilimitado,pero esta limitado por el
   espacio de disco disponible y el espacio de memoria/swap. El rendimiento
   puede sufrir cuando estos valores inusualmente grandes se obtienen.
   El máximo tamaño de una tabla de 32 TB no requiere el soporte de archivos
   de gran tamaño desde el sistema operativo. Las grandes tablas se
   almacenan como múltiples archivos de 1 GB, para el sistema de archivos
   los límites de tamaño no son importantes.
   El tamaño máximo  de una tabla, el tamaño de la fila, y el número máximo de
   columnas puede ser cuadruplicado por el aumento del tamaño de bloque por
   defecto a 32k. El tamaño máximo de la tabla también puede incrementarse
   utilizando la tabla de particionado.Una limitación es que los índices
   no pueden ser creados en columnas más largas que alrededor de 2.000
   caracteres.Afortunadamente, esos índices son raramente necesarios.
   La Singularidad es la mejor garantia por una función de un índice hash MD5
   el largo de la columna, y la indexación de texto completo permite la búsqueda
   de las palabras dentro de la columna.
   4.5) ¿Cuánto espacio de disco es necesario en una base de datos para
          almacenar los datos desde un archivo de texto típico?
   Una base de datos PostgreSQL puede requerir hasta cinco veces
   el espacio en disco para almacenar datos de un archivo de texto.
   Como ejemplo, considere un archivo de 100.000 líneas con un entero y
   descripción de texto en cada línea. Supongamos que la cadena de texto
   avergages veinte bytes de longitud. El archivo plano sería de 2.8 MB.
   El tamaño de el Archivo de base de datos PostgreSQL que contenga
   estos datos se puede estimar como 5.2
   MB:
      24 bytes: cada fila de cabecera (aproximado)
      24 bytes: un campo int y un campo de texto
     + 4 bytes: punteros en la página de tupla
   -------------------------------------------------
       52 bytes por filas 


   El tamaño de página de datos en PostgreSQL es 8192 bytes (8 KB), por lo que:
     8192 bytes por pagina
    ------------------------   =  158 filas por página de base de datos (redondeado hacia abajo)
       52 bytes por fila
      100000 filas de datos
    ------------------------  =  633 páginas de base de datos (redondeado hacia arriba)
      158 filas por pagina
  633 paginas bases de datos * 8192 bytes por pagina  =  5,185,536 bytes (5.2 MB)
  Los índices no requieren tanta sobrecarga, pero contienen los datos que
  se están indexando, por lo que pueden ser muy grandes también.
  Los valores NULL se almacenan como mapas de bits, por lo que usan muy
  poco espacio.
Personal tools