PostgreSQL

No soy responsable del uso que usted haga de la información contenida o vinculada desde estas páginas web.

Instalación

Instalación en RHEL/CentOS 7

rpm -Uvh http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-1.noarch.rpm
yum clean all
yum -y update
yum -y install postgresql \
  postgresql94-server \
  postgresql94-contrib \
  postgresql94-devel
systemctl initdb postgresql94
systemctl enable postgresql94
systemctl start postgresql94

Administración de PostgreSQL

Crear usuarios de Base de Datos

Desde shell

createuser [-s] [-d] -P myname

con psql

CREATE ROLE <rol> WITH LOGIN PASSWORD 'algosecreto';

SELECT * FROM pg_shadow;
  • -P asigna un password.
  • -s crea como superusuario.
  • -d permite al usuario crear bases de datos.

Roles de base de datos

Roles son un concepto separado de los usuarios del sistema. En la práctica es bueno mantener correspondencia, pero no es requisito. Roles son globales a través de una instalación en cluster y no por base de datos individual.

CREARE ROLE <role>;
DROP ROLE <role>;

Para listar los roles existentes en una instancia de PostgreSQL.

SELECT <rol> FROM pg_roles;

Desde línea de comandos existen los programas createuser y dropuser.

Crear base de datos

En línea de comandos

createdb -O myname mydb

En psql

CREATE DATABASE mydb [WITH OWNER someuser];

Cambiar base de datos en psql

\c database

Lista bases de datos en el schema

Cualquiera de los comandos siguientes regresa lo mismo.

\l

SELECT datname FROM pg_database;

Lista las tablas de la base de datos actual

\d table
SELECT column_name FROM information_schema.columns WHERE table_name

-- mysql: DESCRIBE TABLE
postgresql: \d+ table
postgresql: SELECT column_name FROM information_schema.columns WHERE table_name

Restauración de Respaldo

psql [] <BD> < respaldo.sql
pg_restore -c [-d BD] respaldo.dump

Referencias

  • http://www.postgresql.org/
  • http://yum.postgresql.org/