PostgreSQL es un motor de bases de datos relacional libre. Mas información. |
Crear un usuario
Aqui se crea un usuario y su base de datos.
createuser -P -e createdb -U nombreUsuario nombreUsuario
NOTA: El nombre de la base de datos debe tener el mismo nombre del usuario, esto es necesario para que el usuario se pueda conectar.
Crear bases de datos
createdb -U nombreUsuario nombreBaseDatos
Ingresar a una base de datos
psql -U nombreUsuario -d nombreBaseDatos -h SERVIDOR
si sale el siguiente error:
psql: FATAL: la autentificación Ident falló para el usuario «nombreUsuario»;
entrar al archivo /var/lib/pgsql/data/pg_hba.conf y revisar los métodos de autenticación
psql
Psql es un programa cli para acceder al servidor de base de datos Postgres.
Uso
Listar las bases de datos: psql -l
Para mas informacion no dude en consultar el manual de psql
Meta-Commands
Listar tablas: \dp
Listar tablas de un schema: \dp nombreEsquema.
Backup
Crear un backup: pg_dump -U $pguser $db > $db.sql
Aplicar un backup: psql -U nombreUsuario -d nombreBaseDatos -h SERVIDOR < $db.sql
Compilación
En la mayoria de casos usted querra instalar postgres usando los paquetes que provee su distribucion pero de no ser asi aqui puede encontrar una explicacion breve sobre como hacerlo desde los fuentes
Scripts
Listar las tablas de una base de datos y la cantidad de filas que tiene cada una.
db=basededatos
user=elusuario
for i in $(psql -U $user -d $db -c '\dp' | tail -n +4 | egrep ^[[:space:]] | awk '{print $3}'); do
echo $i $(psql -U $user -d $db -c "select count(*) from $i;" | tail -n +3 | head -n 1)
done
Registrar todas las declaraciones
En el archivo /etc/postgresql/8.3/main/postgresql.conf poner la varible log_min_duration_statement con el valor 0 luego de eso podrá ver todos las declaraciones que se envian a su servidor con el comando:
tail -f /var/log/postgresql/postgresql-8.3-main.log
Para mas información sobre este tema puede ver la sección error reporting and logging de la documentacion de postgres
Documentacion
Manuales
