Respaldo(pg_dump) y Restauracion(pg_restore)

pg_dump

/opt/lappstack-1.1-2/postgresql/bin/pg_dump 
      --file=/home/jcsantiago/Documentos/extranet.backup \
      --format=c --ignore-version --compress=9 --verbose \
      --blobs --clean --oids --encoding=LATIN1 \
      --host=10.31.1.3 --username=extranet --password extranet

pg_restore

C:\opensource\bitnami\wappstack\postgresql\bin>pg_restore.exe --dbname=extranet \
      --format=c --ignore-version --verbose \
      --clean --username=postgres \
      --password c:/temporal/extranet.backup

Busca duplicados – extrante.dominio.com.mx

consulta SQL

CREATE TABLE empleados_duplicados
    AS SELECT (apellido_paterno || ' ' ||
               apellido_materno || ' ' ||
               nombres) AS nombrec,
               COUNT (apellido_paterno || ' ' ||
                      apellido_materno || ' ' ||
                      nombres) AS cuantos
       FROM empleados
       GROUP BY 1
       ORDER BY 2 DESC

DELETE FROM empleados_duplicados WHERE cuantos = 1

SELECT * FROM empleados_duplicados;

DROP TABLE empleados_duplicados

SELECT * FROM empleados
WHERE (apellido_paterno || ' ' ||
       apellido_materno || ' ' ||
       nombres)
       IN(SELECT nombrec FROM empleados_duplicados)
ORDER BY 4,5,6

SELECT * FROM empleados WHERE entidad='71L40AZ'

SELECT * FROM empleados WHERE no_empleado='2339'

SELECT * FROM permisos WHERE usuario='jcsantiago'

Como hacer un respaldo de base de datos en PostgreSQL

pg_dump -cDOx \
        -h“ipServidorPostgresql” \
        -U“nombreDeUsuarioBaseDatos” \
        -W “nombreDeBaseDatos” > respaldo.`date +%F`.sql

Parametros:

  • c – crea comandos para la limpieza de la estructura de la base de datos
  • D – crea comandos de inserta datos con lo nombre de columnas
  • O – no regenera los permisos de los objetos
  • x – no carga los permisos de grant / revoke

Expliaciones:

  • -cDOx (respaldo en bruto):
  • -cD (respaldo mas aconciencia):
  • -h“ipServidorPostgresql”, por default simpre dejamos este valor de la siguiente forma: localhost
  • -U“nombreDeUsuarioBaseDatos”, usuario con privilegios de administrador
  • “nombreDeBaseDatos”, nombre de la base de datos a respaldar

Problemas de Acentos y carácteres – Publicación Web

Para solucionar este problema al momento de publicar algo en apache2, php 5, PostgreSQL 8.x
hay que agregar en:

/var/lib/locales/supported.d/local

las lineas:

es_ES@euro ISO-8859-15
es_ES ISO-8859-1

y luego ejecutar:

sudo dpkg-reconfigure locales

Para reconfigurar las locales.

Ya terminado esto hay que colocar la instruccion de php:

setlocale(LC_ALL, ‘es_ES’);

al iniciar nuestros archivos para que regresen con la codificación que necesitamos

Configurar PostgreSQL en Windows

Inicializar la bade de datos:

pgsql\bin\initdb -D “pgsql\data” -E “SQL_ASCII” –no-locale -U usuariosql -W

Registrar servicio de PostgreSQL en Windows

pgsql\bin\pg_ctl register -N “PostgreSQL 8.2″ -D “pgsql\data” -l “pgsql\data\pgsql.log”

Arrancar el motor de base de datos

pgsql\bin\pg_ctl start -N “PostgreSQL 8.2″ -D “pgsql\data” -l “pgsql\data\pgsql.log”

Detener el motor de base de datos

pgsql\bin\pg_ctl stop -N “PostgreSQL 8.2″ -D “pgsql\data” -l “pgsql\data\pgsql.log”

Instalar PostgreSQL en Windows Vista

1. Dar click en el botón de inicio
2. teclar “cmd” (sin las comillas)
3. Presionar CTRL + SHIFT + ENTER. Luego de esto nos solicita confirmar que queremos ejecutar como administrador, damos clic en Continuar.
4. Nos aparece la ventana de comandos en modo administrador.
5. Ir al directorio donde se encuentran los archivos de instalación y ejecutar:

  • msiexec /package postgresql-8.2.msi (eso en mi caso por instalar la 8.2, para otras versiones debe variar el número de versión).

6. Listo, arranca el instalador y deja crear las cuentas para el servicio postgres y ejecutar el servidor sin problemas.