LinuxParty

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 

Vamos a hacer una primera configuración, la instalación la habremos realizado desde nuestros fantásticos repositorios de nuestras distribuciones, tal vez haya elegido Windows, entonces tendrá que interpretar las sentencias y los comandos de Linux para adaptarlos a Windows.

Si tenemos Linux, con Ubuntu/Debian/RedHat/Fedora/CentOS, es muy sencillo, bastará escribir el siguiente comando para buscar todo lo relacionado con PostgreSQL:

En Fedora/CentOS/RedHat

yum search postgresql

En Ubuntu y distribiciones basadas en Debian, como Linux Mint, p.ej.

apt-cache search postgresql

En mi caso utilizo Fedora, y tengo los siguientes paquetes:

Puede utilizar:

Fedora/CentOS/RedHat, etc
Debian/Ubuntu/Linux Mint, etc
rpm -qa | grep postgresql
dpkg --list | grep postgresql
rpm -qa | grep pgsql
dpkg --list | grep pgsql
postgresql-libs-9.1.9-1.fc17.x86_64
postgresql-server-9.1.9-1.fc17.x86_64
postgresql-jdbc-9.1.901-3.fc17.noarch
postgresql-9.1.9-1.fc17.x86_64
postgresql-odbc-09.01.0200-1.fc17.x86_64
perl-pgsql_perl5-1.9.0-13.fc17.x86_64
root-sql-pgsql-5.32.04-2.fc17.x86_64
libdbi-dbd-pgsql-0.8.3-9.fc17.x86_64
php-pgsql-5.4.17-2.fc17.x86_64

postgresql-libs-9.1.9
postgresql-server-9.1.9
postgresql-jdbc-9.1.901
postgresql-9.1.9
postgresql-odbc-09.01.0200
perl-pgsql_perl5-1.9.0-13
root-sql-pgsql-5.32.04-2
libdbi-dbd-pgsql-0.8.3-9
php-pgsql-5.4.17-2.fc17

Revise, e instale lo que crea que les haga falta, con

yum search pgsql

o

apt-cache pgsql

Lo siguiente que hay que hacer, es saber donde PostgreSQL tendrá sus librerías y guarda sus datos, como esta instalación ya la tenemos hecha desde los repositorios podríamos buscar usando find, escribiendo:

cd /
find . -iname "*pgsql*"

De donde tendrá que interpretar la salida, o bien, consultamos los ficheros "master" que tenga instalados, por ejemplo en fedora.

Por ejemplo, escribiremos en Fedora:

[javier@localhost ~]$ rpm -ql postgresql-server

y obtendremos entre otros...

[....]
/var/lib/pgsql
/var/lib/pgsql/.bash_profile
/var/lib/pgsql/backups
/var/lib/pgsql/data
/var/run/postgresql

En Ubuntu, Debian, Linux Mint, deberá utilizar:

dpkg -L nombre-del-paquete

Bravo, ya vemos la configuración, ahora editamos el fichero .bash_profile de tu $HOME, entonces tendrás que editarlo y dejarlo tal que así:


Entramos como el usuario PostgreSQL:

sudo su - postgres

Comprobamos si tiene las variables PGLIB y PGDATA, escribiendo:

set | grep PGLIB

set | grep PGDATA

Si no los tiene, no aparecerá nada, entonces:

Editamos el fichero .bash_profile, .profile, o el que sea:
y creamos el siguiente contenido, si no lo tiene:

[...]
PGLIB=/var/lib/pgsql
PGDATA=/var/lib/pgsql/data
[...]
export PATH PGLIB PGDATA

Copia esos mismos datos y péguelos en la consola, importante, incluido el export.


Cierra la sesión y vuelve a entrar, no hace falta que reinicies el sistema, si no quieres. Prueba

# initdb

Bien, ahora vamos a ver si todo salió como es de esperar, primero vamos a lanzar el servidor de SQL de PostgreSQL, para ello invocamos el script postgres, con el parametro -i y & para que nos devuelva el shell.


# postgres -i &

(Si ya estuviera la aplicación en marcha, porque la hubieramos iniciado con service postgresql start, nos devolverá el error:)

FATAL:  el archivo de bloqueo «postmaster.pid» ya existe
HINT: ¿Hay otro postmaster (PID 882) corriendo en el directorio de datos «/var/lib/pgsql/data»?

No pasa nada, sólo nos está diciendo que ya está arrancado, y no puede volverse a arrancar.


Ahora cramos la base de datos de prueba con la siguiente linea de comando:
# createdb midatabase


Finalmente nos conectamos al servidor con el cliente:

# psql

Ahora, es super sencillo utilizar PSQL, mira:

Para pedir ayuda escribe help, después, usa \h

Para listar tus bases de datos usa \l

postgres=# help
Está usando psql, la interfaz de línea de órdenes de PostgreSQL.
Digite: \copyright para ver los términos de distribución
\h para ayuda de órdenes SQL
\? para ayuda de órdenes psql
\g o punto y coma («;») para ejecutar la consulta
\q para salir
postgres=# \l
Listado de base de datos
Nombre | Dueño | Codificación | Collate | Ctype | Privilegios
-------------+----------+--------------+-------------+-------------+-----------------------
midatabase | postgres | UTF8 | es_ES.UTF-8 | es_ES.UTF-8 |
miprimeradb | postgres | UTF8 | es_ES.UTF-8 | es_ES.UTF-8 |
postgres | postgres | UTF8 | es_ES.UTF-8 | es_ES.UTF-8 |
template0 | postgres | UTF8 | es_ES.UTF-8 | es_ES.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | es_ES.UTF-8 | es_ES.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(5 filas)

postgres=#

\d ----> Te muestra las relaciones (tablas, secuencias, etc.) existentes en la base de datos. \d [nombre_tabla] ---> Para ver la descripción (nombre de columnas, tipo de datos, etc.) de una tabla.
\c [nombre_bd] ---> Para conectarte a otra base de datos. SHOW search_path; ---> Para ver la ruta de búsqueda actual. SET search_path TO [nombre_esquema]; ---> Para actualizar la ruta de busqueda. \q -----> Para salir de psql

Una Guía ultra rápida:

Comandos sobre la linea de comandos

Borrar base de datos:
$ dropdb dbname
Crear base de datos
$ createdb dbname
Ejecutar script sobre base de datos
$ psql -f dump.sql dbname
Exportar base de datos:
$pg_dump dbname [-U username] > dump.sql
Exportar solo los datos(no el esquema)base de datos:
$pg_dump -a dbname [-U username] > dump.sql
Exportar base de datos, la salida comienza con un creado de la base de datos y
conexion a dicha base de datos:
$pg_dump -C dbname [-U username] > dump.sql
Exoprtar todas las bases de datos
$pg_dumpall > outfile.sql
Cliente postgresql -> comando psql

PostgreSQL command line prompt


dbname=# \l #muestra listado de las bases de datos existentes
dbname=# \d #listar tablas de base de datos actual
dbname=# \d table-name #muestra descripcion de los campo de la tabla table-name
dbname=# \c dbname # conectarse a base de datos dbname
dbname=# \h # ayuda de comandos SQL
dbname=# \? # ayuda de comandos psql
dbname=#inset, create,..... #ejecutar comandos sql
dbname=# \g o terminar las query con ;
dbname=# \q # salir

Sería recomendable que revisaras la documentación: http://www.postgresql.org/docs/8.2/static/app-psql.html

Puede si quiere utilizar pgadmin3, como cliente gráfico para manejar postgresql.

Búscalo en tus repositorios como:

apt-cache search pgadmin3

yum search pgadmin3

E instalarlo, si te conviene

Para ello deberá editar el fichero de configuración:

/var/lib/pgsql/data/pg_hba.conf (también puede estar en /etc/postgresql)

La línea: (la que está marcada en negrita)


# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 ident
#host replication postgres ::1/128 ident

Por esta otra


# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1 255.255.255.255 trust
# IPv6 local connections:
host all all ::1/128 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 ident
#host replication postgres ::1/128 ident

De esta forma, estará lista utilizando el usuario postgres,

Si tiene que cambiar la contraseña al usuario postgres, entre como root y escriba:

passwd postgres

Pin It


Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías

Nos obligan a moslestarte con la obviedad de que este sitio utiliza Cookies. Ver política