Mostrando entradas con la etiqueta postgres. Mostrar todas las entradas
Mostrando entradas con la etiqueta postgres. Mostrar todas las entradas

Backup completo de PostgreSQL

Realizar un backup de MySQL, base de datos que conozco bien y de la que ya hablé varias veces aquí, es sencillo y está muy documentado. Sin embargo, si intentamos realizar el mismo proceso en una base se datos PostgreSQL, la cosa ya cambia.
Hoy os dejo el comando para realizar el proceso de sacar un dump completo (estructura y datos) de PostgreSQL.
shell> pg_dump -U user -W -h IP database > database.sql
Por supuesto, el comando pg_dump (el mysqldump de PostgreSQL) se instala con la instalación del servidor de base de datos, por lo que ya tenemos la herramienta para extraer los datos. El resto de parámetros que le pasamos quedan a continuación explicados.

Parámetro Explicación
-U
Usuario de conexión con permisos para la base de datos a realizar el backup.
-W
Forzamos a que el comando nos solicite la contraseña del usuario especificado.
-h
Indica el servidor PostgreSQL al que nos vamos a conectar para realizar el backup.
database
Base de datos de la que vamos a realizar la copia.

Importado de datos

Todo backup se hace para prevenir sustos y si uno de esos sustos nos sucede, lo mejor entonces es también saber cómo recuperar los datos. Así que, aquí queda el cómo.
shell> psql -U username -W -h IP database < database.sql
Leer más

metasploit, instalación de debian squeeze

Aunque ya tenemos hablado muchas veces de cómo usar metasploit, nunca hemos mencionado cómo instalar la última versión del mismo en debian squeeze. Por defecto, si bajas el paquete/binario de la web oficial te ofrecen un pequeño programa de instalación con guía que siempre que lo intenté me falló. Llega a un punto, algo relacionado con postgress que no es capaz de continuar. Así que decidí que la mejor forma de realizar la instalación es empleando directamente subversion (svn).
Para una instalación sencilla, lo único que necesitamos es instalar ruby, subversion y todo el código de metasploit.
shell> apt-get install subversion
shell> apt-get install ruby libopenssl-ruby libyaml-ruby \
       libdl-ruby libiconv-ruby libreadline-ruby irb ri rubygems
Una vez instalado esto, sólo queda hacer una copia del repositorio con subversion. Para ello,
shell> cd /opt
shell> svn co http://www.metasploit.com/svn/framework3/trunk/ metasploit
Una vez haya terminado ya tenemos listo nuestro framework y es plenamente funcional. Pero como nos interesa tenerlo al 100%, vamos a darle también conectividad a una base de datos. Las últimas versiones de metasploit sólo soportan postgresql como base de datos, así que vamos a instalarla y añadirla.
shell> apt-get install postgresql pgadmin3 libpq-dev \
       libreadline-dev libssl-dev libpq5 ruby-dev
shell> gem install pg
Una vez instalada y arrancada, configuramos la nueva base de datos,
shell> su postgres
postgres@shell> createuser metasploit -P
Enter password for new role: 
Enter it again: 
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n
postgres@shell> createdb --owner=metasploit metasploit
exit
Llegados a este punto, ya podemos arrancar por primera vez metasploit. Así que hacemos los link's correspondientes y lo arrancamos.
shell> ln -s /opt/metasploit/msf* /usr/local/sbin/
Una vez arrancado, si no hay problemas tendríamos que tener acceso al promt del framework por lo que sólo nos queda añadirle el soporte de base de datos.
shell> msfconsole
       =[ metasploit v4.5.0-dev [core:4.5 api:1.0]
+ -- --=[ 960 exploits - 507 auxiliary - 153 post
+ -- --=[ 257 payloads - 28 encoders - 8 nops
       =[ svn r15900 updated yesterday (2012.09.25)

msf> db_connect metasploit:qwerty@127.0.0.1:5432/metasploit
...
[*] Rebuilding the module cache in the background...

msf> db_status
[*] postgresql connected to metasploit
Y ya está metasploit perfectamente instalado y listo para funcionar sobre debian squeeze. Cada vez que se quiera actualizar únicamente,
shell> svn update /opt/metasploit

Píldora: Compilación de pcaprub.
shell> apt-get install libpcap-dev
shell> cd /opt/metasploit/external/pcaprub/
shell> ruby extconf.rb
shell> make
shell> make install
Leer más

Comandos MySQL vs Postgres



El otro día haciendo un uso normal de metasploit decidí conectarlo a una base de datos. Sin saber exactamente el motivo por el que pasó, no tenía el driver para conectarlo con MySQL, por lo que decidí instalar Postgres como motor de base de datos, del que sí tenía conector y que además dicen que va perfectamente. Yo nunca había usado este nuevo motor de base de datos, por lo que lo más sencillo que me pasó fue instalarlo. Usando debian gnu/linux,

shell> apt-get install postgresql-8.4
Luego tocó meterle mano, crear una base de datos, listar las ya existentes, entrar en una, listar las tablas, etc. Todos esos pasos esenciales y básicos en MySQL que sin saber nada de Postgres, pues la cosa se complica, así que decidí dejar aquí una chuleta con la comparativa de los comandos de ambos motores y que espero os resulte de ayuda si algún día os hace falta.
MySQL                        Postgres
  SHOW DATABASES               \l
  USE DATABASE                 USE database
  SHOW TABLES                  \d
  SHOW TABLES                  \dt
  DESCRIBE table               \d table
  CREATE DATABASE database     CREATE DATABASE database WITH OWNER usuario;
  DROP DATABASE database       DROP DATABASE database
Leer más

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios