Vamos con otro de esos artículos obligados para un blog de SysAdmins. Generalmente para importar y exportar bases de datos en PostgreSQL podemos utilizar aplicaciones como phpPgAdmin pero a veces dan problemas con bases de datos demasiadas pesadas y acabamos recibiendo un time-out.

Esto es realmente fácil de solucionar, tan solo hay que cambiar valores en el fichero php.ini. Aún así, para conseguir importar o exportar una base de datos grande podemos hacerlo desde la línea de comandos, accediendo mediante SSH.

Exportar base de datos

Para exportar una base de datos, tenemos que saber el nombre de la base de datos y tener acceso al usuario postgres desde SSH.

Como ese usuario, podremos exportar la base de datos con una herramienta interna de PostgreSQL:

pg_dump [Nombre_Base_De_Datos] > [Nombre_Base_De_Datos].sql

Si la base de datos se encuentra en otro servidor, podremos usar el parámetro -h o -p para indicar el puerto del servicio:

pg_dump -h XX.XX.XX.XX -p 6432 [Nombre_Base_De_Datos] > [Nombre_Base_De_Datos].sql

Por ejemplo:

pg_dump mastodon > mastodon_db.sql
pg_dump -h minodo.com mastodon > mastodon_db.sql

Importar base de datos

Para importar una base de datos deberemos de tener creada la base datos previamente en nuestro servidor. Luego, podremos importar la base de datos con el siguiente comando como usuario postgres:

psql -U postgres -d [Nombre_Base_De_Datos] < [Nombre_Base_De_Datos].sql

Por ejemplo:

psql -U postgres -d mastodon < mastodon_db.sql
Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación