Entradas

Mostrando entradas de enero, 2019

Programación: Hacer el backup y restaurar una tabla en PostgreSQL

Imagen
Hicieron esta consulta en un foro hace unos días y ahora les comparto esta solución:

Este ejemplo se realizó sobre un servidor PostgreSQL 9.6.8. corriendo sobre Windows.


Paso 1: Acceder por consola los utilitarios que provee el servidor.

La ruta usual (si instalaron en la ruta sugerida por el Wizard) de los utilitarios es:

C:\Program Files\PostgreSQL\9.6\bin\

La carpeta 9.6 cambiará obviamente si es que tienen otra versión.

En mi caso lo tengo en la unidad D:



Paso 2: Ejecutar el comando para realizar el backup de una tabla específica.

El comando es pg_dump

Este comando tiene múltiples parámetros, pueden obtener más información en:

https://www.postgresql.org/docs/9.6/app-pgdump.html

Para cuestiones de lo que queremos hacer la sentencia es:


D:\Program Files\PostgreSQL\9.6\bin>pg_dump --file "E:\\Data\\NombreDeArchivoBackup" --host "nombredeservidor" --port "5432" --username "usuariobd" --verbose --format=c --blobs --table "public.\"Nombre…

Java: Ejemplo de como conectar a una base de datos PostgreSQL con Java

Siguiendo con la serie de posteos con ejemplos simples y prácticos de programación Java, les dejo un ejemplo de como conectar a una base de datos PostgreSQL.

El ejemplo está hecho para cualquier versión de PostgreSQL, lo único que cambiará será el correspondiente conector que pueden descargar desde:

https://jdbc.postgresql.org/

Nota:
Algunas veces ponen como nombres de tablas o columnas caracteres mayúsculas y minúsculas. Por ese motivo la query que se ejecuta incluye el caracter "\" para poner el nombre de la tabla o columna entre comillas dobles.

El puerto por defecto del PostgreSQL es el 5432, si usaron otro puerto en su instalación, cambiarlo.


Espero les sea de utilidad.

/////////////////////////////

package postgresql;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class SimplePostgreSqlConnector {

public static void main(String[] args) {
conectaPG();
}


private static void conectaPG(){
try {
        Clas…

Java: Pangrama o frase holoalfabética

Hola, acá les dejo la solución de una tarea de programación en la que me solicitaron ayuda.

Verificar si una frase o texto es un pangrama.


Un pangrama (del griego: παν γραμμα, «todas las letras») o frase holoalfabética es un texto que usa todas las letras posibles del alfabeto de un idioma.

https://es.wikipedia.org/wiki/Pangrama


Esta simple clase contiene cuatro metódos diferentes de verificar si un texto es un pangrama

Espero les sea de utilidad

////////////////////////////////


public class Panagrama {

public static void main(String[] args) {
//String strFrase = "abcdefghijklmnopqrstuvwxyz";
String strFrase = "El cadáver de Wamba, rey godo de España, fue exhumado y trasladado en una caja de zinc que pesó un kilo";
char [] arrFrase = strFrase.toCharArray();
String strAlfabeto = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char [] arrAlfabeto = strAlfabeto.toCharArray();

boolean blnTodas = isPanagram2(arrAlfabeto,arrFrase);
System.out.println("La frase : "+ strFrase );
if…

Java: Descomprimir archivos con java

Hola, acá les dejo un ejemplo que me estuvieron pidiendo hace tiempo.
Desempaquetar / descomprimir uno o varios archivos:

.ZIP
.RAR
etc

con sentencias de java, sin utilizar librería externas.

Espero les sea de utilidad.


////////////////////////////////////////////
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipInputStream;


public class Descomprime {

public static void main(String[] args) {

try{

File carpeta = new File("D://DATA//pruebadescomprime");
  for (File f : carpeta.listFiles()) {
  if(f.getName().contains(".zip")){
System.out.println(f.getName());
descomprimir(f.getAbsolutePath(), f.getAbsolutePath().substring(0, f.getPath().length()-4));
//f.delete(); opcional, si desea también borrar el archivo zip original
  }
  }

}
catch(Exception e){
System.out.println(e.getMessage());
}
}

public static void descomprimir(String archivoZIP, String arc…

Java: Listar fechas intermedias dentro de un rango

Ejemplo de un algoritmo que es muy usado en programación, como es el tratamiento de fechas.
Esta utilidad les permitirá obtener las fechas intermedias entre una fecha inicial y una fecha final, para cualquier formato de fecha que tengan:

yyyy/MM/dd
yyyyMMdd
yyMMdd
yyyy.MM.dd
yy MM dd


Espero les sirva


//////////////////////////////////////////

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;

public class UtilFechas {

public static void main(String[] args) {

List listaResultado = listarFechasIntermedias("2018-12-28", "2019-01-03" , "yyyy-MM-dd", "yyyy MM dd");
//fecha inicial, fecha final, formato input, formato output
for(String fecha : listaResultado)
System.out.println(fecha);

}

private static List listarFechasIntermedias(String strFechaInicial, String strFechaFinal, String formatoIn, String formatoOu…

Java: Generar dígito verificador - Algoritmo de Luhn - Algoritmo de módulo 10

El algoritmo de Lenin o fórmula de Luhn, también conocida como "algoritmo de módulo 10", es una fórmula de suma de verificación, utilizada para validar una diversidad de números de identificación; como números de tarjetas de crédito, números IMEI, etc.

https://es.wikipedia.org/wiki/Algoritmo_de_Luhn

Simple Clase: DigitoVerificadorLuhn.java

////////////////////////


import java.util.ArrayList;
import java.util.List;

public class DigitoVerificadorLuhn {

    public static boolean correctoVerificador(String card) {
        if (card == null)
            return false;
        char digitoverificador = card.charAt(card.length() - 1);
        String digito = calculaDigitoVerificador(card.substring(0, card.length() - 1));
        return digitoverificador == digito.charAt(0);
    }

    public static String calculaDigitoVerificador(String original) {
        if (original == null)
            return null;
        String digit;
        /* se convierte el número en un arreglo de digitos */
 …