Translation(s): English - español - Italiano - Русский


Resumen de PostgreSQL

PostgreSQL tiene una amplia y muy buena ayuda que debería ser la primera fuente de información a consultar respecto a este producto (aunque en inglés. Instale el paquete postgresql-doc.deb). Esta página esboza las primeras diferencias para la instalación genérica de Postgres utilizada por Debian.

Instalación

Paquetes requeridos: postgresql postgresql-client

# apt-get install postgresql postgresql-client

Paquetes recomendados:

Observe, por favor, que los lenguajes de procedimientos se instalan separadamente (el predeterminado es plpgsql). Realice una búsqueda en la base de datos de paquetes para encontrar todas las posibilidades:

# aptitude search postgresql

Acceso de Usuario

Tanto el usuario predeterminado de la base de datos como ella misma se llaman postgres.

Puede conectar a la base de datos utilizando las siguientes órdenes en terminal:

# su - postgres
$ psql

Nuevo usuario y base de datos

Como root, cree una cuenta normal de usuario del sistema utilizando adduser (sáltese este paso si quiere utilizar una cuenta ya existente):

# adduser mypguser    # desde el terminal y como root

Conecte a la base de datos

# su - postgres           # como root
$ psql                          # como el superusuario postgres

Cree nuevo usuario y base de datos ya como superusuario postgres:

postgres=# CREATE USER mypguser WITH PASSWORD 'mypguserpass';
postgres=# CREATE DATABASE mypgdatabase OWNER mypguser;

o como root desde el terminal:

# createuser mypguser             #desde el terminal como root
# createdb -O mypguser mypgdatabase

Salir de la base de datos

postgres=# \q

Conecte como usuario mypguser a la nueva base de datos

# su - mypguser
$ psql mypgdatabase

o como root desde el terminal

# psql -d mypgdatabase -U mypguser

Si obtiene errores tales como:

psql: FATAL:  Ident authentication failed for user "mypguser"

edite el fichero de configuración pg_hba.conf en /etc/postgresql/X.Y/main/pg_hba.conf

local   all         all                               trust     # sustituya ident o peer por trust

recargue postgresql

# /etc/init.d/postgresql reload

Documentación

Para tener una visión general de la arquitectura de PostgreSQL de Debian, instrucciones para un inicio rápido, y punteros a programas y manpages, mire el fichero /usr/share/doc/postgresql-common/README.Debian.gz.

Archivos de tutoriales

La documentación de PostgreSQL apunta al tutorial, que se incluye en el paquete postgresql-doc. Para más información mire en /usr/share/doc/postgresql-doc-[versión]/tutorial/README.

Listar Clusters de bases de datos existentes

Utilice la orden pg_lsclusters para comprobar los clusters instalados y obtener información básica tal como: versión (major version), nombre, puerto, estado (en línea o caída), propietario, directorio de datos y archivo de bitácora o log.

pg_lsclusters

Sustitución de pg_ctl

pg_ctl es un programa PostgreSQL en línea de órdenes que puede utilizarse para controlar la base de datos. Debian ha construido un envoltorio en Perl para el pg_ctl llamado /usr/bin/pg_ctlcluster. Utilice el pg_ctlcluster cuando necesite utilizar el pg_ctl. Para adaptar su comportamiento revise el fichero /etc/postgresql/[versión]/[cluster]/pg_ctl.conf

Debian instala un guión de inicio compatible con SysV-init (estándar) como /etc/init.d/postgresql-[versión]. Puede utilizarse para arrancar, parar y recargar el sistema. Llama internamente a pg_ctlcluster.

Ubicaciones de Archivos

Debian separa la configuración de la base de datos de los archivos de la base de datos, a diferencia de la instalación genérica de PostgreSQL que coloca todo bajo el mismo directorio. Nótese que Debian permite a múltiples clusters e incluso a diferentes versiones de PostgreSQL coexistir en el mismo host.

Archivos de configuración: /etc/postgresql/[versión]/[cluster]/
Archivos binarios: /usr/lib/postgresql/[version]
Archivos de datos: /var/lib/postgresql/[versión]/[cluster]

Archivos de bitácora Log: la instalación de PostgreSQL crea un directorio de registro /var/log/postgresql/. El arranque del motor de la base de datos crea un archivo de bitácora con el nombre postgresql-[versión]-[cluster].log.

Cambiar la instalación por defecto de Debian

La instalación predeterminada de Debian PostgreSQL ejecuta automáticamente initdb, esto es, inicializa el cluster con la codificación y localización por defecto. La codificación puede ser cambiada luego (cosa nada fácil) pero la localización no. Para cambiar la localización (y posiblemente otras opciones de initdb), elimine el cluster existente predeterminado y cree uno nuevo:

¡Aviso!

La siguiente operación lógicamente elimina todo lo que haya en las bases de datos del cluster. Realice esta operación tras haber instalado el paquete base. Compruebe el manual de PostgreSQL por si necesita cambiar la localización de una base de datos existente (no es una operación trivial).

  1. Asuma los privilegios de root.
  2. Ejecute la siguiente orden:
    pg_dropcluster --stop <versión> main
    Por ejemplo:
    pg_dropcluster --stop 9.4 main
  3. Ejecute la orden initdb con sus opciones. Por ejemplo:
    pg_createcluster --locale es_ES.UTF-8 --start 9.4 main

Compruebe la página de localización Locale para ver como añadir más localizaciones.

Véase también

Enlaces externos