Los siguientes son los pasos seguidos para instalar PostgreSQL bajo Windows en una unidad US
1. Descargar y descomprimir el archivo postgresql-8.3.1-1-binaries-no-installer.zip.
2. Mover el directorio pgsql a la unidad USB, g: para este ejemplo.
3. Crear el directorio g:pgsqldata.
4. Crear el repositorio de datos inicial.
dos> g:pgsqlbininitdb -D g:pgsqldata
5. Editar el archivo de configuración de acceso para permitir las conexiones externas.
dos> notepad g:pgsqldatapg_hba.conf # Allow any user on the local system to connect to any database under # any database user name using Unix-domain sockets (the default for local # connections). # # TYPE DATABASE USER CIDR-ADDRESS METHOD local all all trust # The same using local loopback TCP/IP connections. # # TYPE DATABASE USER CIDR-ADDRESS METHOD host all all 127.0.0.1/32 trust host all all 0.0.0.0/0 md5
6. Editar el archivo de configuración de la base de datos para permitir conexiones a través de TCP/IP y SSL.
dos> notepad g:pgsqldatapostgresql.conf listen_addresses = '*' authentication_timeout = 1min # 1s-600s ssl = on # (change requires restart) ssl_ciphers = 'ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH' # allowed SSL ciphers
7. Crear la llave primaria del servidor (server.key) y el certificado SSL (server.crt). Para esto es necesario contar con la distribución de OpenSSL y su directorio g:OpenSSLbin (o donde haya sido instalado) incluído en la variable de ambiente PATH. Tengase en cuenta que este paso es opcional y sólo deberá ejecutarse si se desea establecer el soporte para conexiones SSL con el motor de base de datos (ver parámetro ssl en el paso #6).
dos> cd g:pgsqldata
dos> openssl req -new -text -out server.req
PEM pass phrase: ***CLAVESECRETA*** Country Name (2 letter code) [AU]: CO State or Province Name (full name) [Some-State]: Caldas Locality Name (eg, city) []: Manizales Organization Name (eg, company) [Internet Widgits Pty Ltd]: Personal Development Organizational Unit Name (eg, section) []: Sistemas Common Name (eg, YOUR name) []: jorgeivan Email Address []: jimezam@gmail.com Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
Ténganse en cuenta las siguientes consideraciones para especificar los datos mencionados anteriormente.
- La frase PEM (***CLAVESECRETA***) es una contraseña de seguridad del certificado, elíjala de acuerdo a sus criterios de seguridad.
- Los valores de los campos Country Name, State Name, Locality Name, Organization Name, Organizational Unit Name e Email Address son informativos y deben personalizarse según su propio contexto.
- El campo Common Name debe corresponder con el hostname de la máquina que tendrá el certificado (importante).
- El Challenge Password y el Optional Company Name pueden obviarse (dejarse en blanco).
La llave generada se encuentra protegida con contraseña, para removerla y permitir el inicio automático del motor de base de datos junto con el sistema operativo se debe realizar la acción siguiente.
dos> openssl rsa -in privkey.pem -out server.key PEM pass phrase: ***CLAVESECRETA*** dos> del privkey.pem
Para firmar (self-signed) el certificado recién creado ejecutar la acción siguiente.
openssl req -x509 -in server.req -text -key server.key -out server.crt
8. Iniciar el motor de base de datos.
dos> postgres -i -D g:pgsqldata
Si se desea redireccionar los mensajes de la base de datos a un archivo de log se deben agregar las siguientes modificaciones.
dos> postgres -i -D g:pgsqldata >logfile 2>&1
Si se desea enviar el proceso del motor de base de datos a background se debe anteponer el comando start de Windows.
dos> start postgres -i -D g:pgsqldata >logfile 2>&1
9. Modificar la contraseña de acceso del usuario de administración del motor de base de datos.
dos> psql -h 127.0.0.1 -c "ALTER USER USUARIO WITH PASSWORD 'CONTRASEÑA'" -d template1
Téngase en cuenta que debe reemplazarse a USUARIO con el nombre de usuario bajo el cual se ejecuta la base de datos, el mismo con el que se ejecutó initdb y postgres, así como CONTRASEÑA con la contraseña escogida para ese usuario.
10. Crear una base de datos.
dos> createdb.exe base_de_datos
11. Prueba de conexión a la base de datos.
dos> psql -W -U USUARIO base_de_datos
Enlaces de interés: