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

We use cookies

Usamos cookies en nuestro sitio web. Algunas de ellas son esenciales para el funcionamiento del sitio, mientras que otras nos ayudan a mejorar el sitio web y también la experiencia del usuario (cookies de rastreo). Puedes decidir por ti mismo si quieres permitir el uso de las cookies. Ten en cuenta que si las rechazas, puede que no puedas usar todas las funcionalidades del sitio web.