Descarga e instalación PostgreSQL 9 en Microsoft Windows 7
Accedemos a la siguiente dirección web clic aqui:
Descargamos la versión 9.0.0 RC1 que es beta o la que queramos, Tendiendo en cuenta si es para Windows de 32 bits o 64 bits (Win x86-32):
Una vez descargado el archivo de instalación de PostgreSQL ejecutamos con el botón derecho del ratón sobre él y seleccionaremos «Ejecutar como administrador»:
Nos mostrará una advertencia con el texto «¿Desea permitir que este programa realice cambios en el equipo?», pulsaremos «Sí» para continuar con la instalación de PostgreSQL:
Pulsaremos «Siguiente»:
Indicaremos la carpeta donde se guardarán los ejecutables, librerías y ficheros de configuración de PostgreSQL:
Indicaremos la carpeta donde se guardarán los datos por defecto de PostgreSQL:
Introduciremos la contraseña para el superusuario «postgres» que será con el que iniciemos sesión para administrar la base de datos:
Introduciremos el puerto de escucha para la conexión con el servidor PostgreSQL, por defecto el 5432:
Seleccionaremos la configuración regional:
Pulsaremos «Siguiente» para iniciar la instalación definitiva del servidor PostgreSQL ;
Se iniciará la instalación.
Una vez finalizada la instalación el asistente nos dará la posibilidad de ejecutar Stack Builder, que es una aplicación que nos permitirá instalar otros componentes y herramientas para PostgreSQL:
Si hemos marcado la opción de Stack Builder, se iniciará, seleccionaremos «PostgreSQL 9.0 on port 5432» y pulsaremos «Next»:
Seleccionaremos las aplicaciones, componentes y herramientas a instalar y pulsaremos «Next» (en nuestro caso cancelaremos Stack Builder pues no instalaremos más componentes):
Si puede ser interesante insaltar phpPgAdmin para su administración.
El asistente para instalar el servodpr PostgreSQL habrá creado un servicio que estará iniciado y en tipo de inicio automático llamado «postgresql-9.0»:
Y habrá creado la carpeta en archivos de programa «PosgreSQL» con las subcarpetas:
Y la carpeta de datos:
Con esto habremos convertido nuestro equipo Microsoft Windows 7 en un servidor de base de datos PostgreSQL.
Si queremos que los equipos de nuestra red tengan acceso al servidor PostgreSQL y tenemos algún cortafuegos (firewall) deberemos abrir el puerto 5432. Y si queremos que se tenga acceso desde Internet al servidor PostgreSQL deberemos redireccionar (mapear) el puerto 5432 en el router o cortafuegos de nuestra empresa.
Creación de usuarios (roles) y catálogos
Como crear roles
Para el acceso a la administración del motor de base de datos PostgreSQL accederemos al botón «Iniciar» – «PostgreSQL 9.0» – «pgAdmin III»:
Desplegaremos «Server Groups», dentro desplegaremos «Servidores» y dentro de éste pulsaremos con el botón derecho del ratón sobre «PostgreSQL 9.0 (localhost:5432), en el menú emergente seleccionaremos «Conectar»:
Introduciremos la contraseña para el superusuario postgres (la contraseña introducida en la instalación):
Si todo es correcto nos conectaremos al servidor PostgreSQL, desde pgAdmin podremos configurar y administrar el servidor de PostgreSQL:
Para crear un rol de login pulsaremos con el botón derecho del ratón sobre «Roles de Login», seleccionaremos «Nueva Rol de Login»:
En la pestaña «Propiedades» introduciremos los siguientes datos:
- Nombre del Rol: nombre del usuario, en nuestro caso «ajpdsoft».
- Contraseña: contraseña para este usuario (rol).
- La cuenta caduca: si queremso que la cuenta de usuario caduque en una fecha la estableceremos en este campo.
En la pestaña «Privilegios de Rol» podremos indicar si este usuario será superusuario, si puede crear objetos de la base de datos y si puede crear roles:
Pulsaremos «OK» en la ventana anterior para crear el rol de login.
El script SQL para crear un usuario (rol) en PostgreSQL, script que podremos ver en la pestaña «SQL», antes de pulsar en «OK» en la ventana anterior:
CREATE ROLE ajpdsoft
LOGIN ENCRYPTED PASSWORD ‘md55f8e1f359c12dafag3h3hfjbxxxb857’
VALID UNTIL ‘infinity’;
Incio creando una tablespace para guardar los datos de una base de datos en PostgreSQL
Antes de crear una base de datos, podemos crear el tablespace donde guardaremos los datos de la misma, si bien se pueden utilizar los tablespaces por defecto de PostgreSQL (pg_default y pg_global) es recomendable crear tablespaces separados. Para crear un tablespace accederemos a la administración pgAdmin, sobre «Tablespaces» pulsaremos con el botón derecho y seleccionaremos «Nuevo Tablespace»:
En la pestaña «Propiedades» introduciremos los siguientes datos:
- Nombre: nombre que identificará el tablespace, en nuestro caso «tb_ajpdsoft».
- Locación: ubicación de los datos del tablespace, en nuestro caso:
C:datos_postgresqltb_ajpdsoft
- Propietario: seleccionaremos el usuario creado anteriormente «ajpdsoft».
Pulsaremos «OK» para crear el tablespace:
Nota: la carpeta de destino de existir, de lo contrario mostrar un error como este:
—————————
pgAdmin III
—————————
Ha ocurrido un error:ERROR: directory «C:/datos_postgresql/tb_ajpdsoft» does not exist
—————————
Aceptar
—————————
El script SQL que creará el tablespace en PostgreSQL (si lo hiciésemos sin el modo gráfico de pgAdmin
CREATE TABLESPACE tb_ajpdsoft
OWNER ajpdsoft
LOCATION E’C:datos_postgresql b_ajpdsoft’;
Inicialmente, PostgreSQL creará una subcarpeta dentro de la carpeta indicada para el tablespace con un nombre como este: PG_9.0_201008
Creación de una base de datos
Para crear una nueva base de datos en PostgreSQL abriremos pgAdmin, pulsaremos con el botón derecho del ratón sobre «Bases de datos», seleccionaremos «Nueva Base de Datos»:
En la pestaña «Propiedades» introduciremos los siguientes datos:
- Nombre: nombre de la base de datos, en nuestro caso «bdajpdsoft».
- Propietario: seleccionaremos el usuario creado anteriormente «ajpdsoft».
- Codificado: seleccionaremos UTF8.
- Tablespace: seleccionaremos el tablespace creado anteriormente «tb_ajpdsoft».
- Colación: seleccionaremos «Spanish_Spain.1252».
- Tipo carácter: seleccionaremos «Spanish_Spain.1252».
Pulsaremos «OK» para crear la base de datos:
El script SQL para crear una base de datos postgreSQL desde la línea de comandos:
CREATE DATABASE bdajpdsoft
WITH ENCODING=’UTF8′
OWNER=ajpdsoft
LC_COLLATE=’Spanish_Spain.1252′
LC_CENGINE=’Spanish_Spain.1252′
CONNECTION LIMIT=-1
TABLESPACE=tb_ajpdsoft;Creación de un esquema y una tabla
Para crear un esquema en la base de datos creada anteriomente, la desplegaremos en pgAdmin, en «Esquemas» de esta base de datos pulsaremos con el botón derecho y seleccionaremos «Nuevo Esquema»:
En la pestaña «Propiedades» indicaremos el nombre para el esquema, por ejemplo «ajpdsoft» y el usuario (login de inicio) propietario, en nuestro caso «ajpdsoft». Pulsaremos «OK» para crear el esquema:
El script SQL para crear el esquema en PostgreSQL:
CREATE SCHEMA ajpdsoft
AUTHORIZATION ajpdsoft;
Para crear una tabla dentro del esquema «ajpdsoft» (que a su vez está dentro de la base de datos «bdajpdsoft») pulsaremos con el botón derecho del ratón sobre «Tablas» (dentro del esquema) y seleccionaremos «Nueva Tabla»:
Introduciremos el nombre de la tabla, por ejemplo «facturas», el propietario «ajpdsoft», el Tablespace «tb_ajpdsoft»:
En la pestaña «Columnas» pulsaremos «Añadir»:
Introduciremos el nombre de la columna, por ejemplo «codigo», el tipo de datos (para el autoincremento en PostgreSQL seleccionaremos «serial»), puesto que esta columna será clave primaria marcaremos «No Nulo»:
De la misma forma, añadiremos el resto de las columnas para la tabla «facturas»: fecha (de tipo «date»), codigocliente (de tipo «integer»), numero (de tipo «character(40)»), importe (de tipo «money») y observacion (de tipo «text»):
En la pestaña «Restricciones», para añadir una clave primaria para la tabla, seleccionaremos «Clave Primaria» y pulsaremos «Añadir»:
En «Nombre», introduciremos el nombre para la clave primaria, por ejemplo: cp_codigo:
En la pestaña «Columnas» seleccionaremos «codigo» y pulsaremos «Añadir»:
Pulsaremos «OK» para crear la clave primaria para el campo «codigo»:
Y ya tendremos creada la tabla «facturas» de PostgreSQL:
El script SQL para crear una tabla en PostgreSQL:
CREATE TABLE ajpdsoft.facturas ( codigo serial NOT NULL, fecha date, codigocliente integer, numero character(40), importe money, observacion text, CONSTRAINT cp_codigo PRIMARY KEY (codigo) ) WITH ( OIDS = FALSE ) TABLESPACE tb_ajpdsoft; ALTER TABLE ajpdsoft.facturas OWNER TO ajpdsoft;