¡Esta es una revisión vieja del documento!


PostgreSQL

Descripción

 PostgreSQL es una base de datos enterprise muy flexible y  popular.

Prerequistos

Tener el server instalado. Usualmente es un paquete postgresql-server

Procedimiento

1. Instalar

Ya no hay distribucion que no tenga postgresql. Instale como mejor prefiera

  • yum install postgresql-server
  • apt-get install postgresql-server

No suele ser productivo hacerlo desde un tar.gz a menos que necesite una compilacion especial

2. Configurar

Crear Usuario

Crear usuario administrador de la base de datos

  CREATE USER admin WITH SUPERUSER CREATEDB CREATEROLE PASSWORD 'kuine'

O desde el shell como postgres puede crear el usuario  preo no asignarle permisos

  createuser -d -s -r -l -W admin

Y el usuario mortal

  CREATE USER orfeo_usr WITH PASSWORD 'Eichahcu5P';

Crear Base de Datos

  CREATE DATABASE orfeo_odb;

Asigne permisos al usuario

Asignar permisos de administrador al usuario de orfeo sobre la base de datos de orfeo.

  GRANT ALL PRIVILEGES ON DATABASE orfeo_odb to orfeo_usr;

Permita Acceso remoto

Una cosa importante es permitir el acceso remoto al servidor SI LO NECESITA!!!! . Esto se hace en un par de sitios

En  postgresql.conf   ( /etc/postgresql/8.3/main/postgresql.conf) o (/etc/postgresql/9.1/main/postgresql.conf) pongalo a escuchar por todas las direcciones

  listen_addresses = '*' #listen_addresses = 'localhost'

EN pg_hba.conf (/var/lib/pgsql/data/pg_hba.conf)  o (/etc/postgresql/9.1/main/pg_hba.conf)  agregue la lineas de acceso deseada. (no borre las otras)

  host all all 192.168.8.0/24 md5

Y listo ..ya teniedo esto puede accederlo remoto

El cambio a md5 toca hacerlo tambien ent 127.0.0.1 porque con “ident” no logramos conectar.

Conectarse remoto por linea de comandos

  psql -h 192.168.8.74 -U admin -p 5432  orfeo

o use pgadmin3 o phppgadmin  que son bastante bonitos

Otras funcionalidades

1. Asignarle privilegios y contraseña a root

Si nunca lo ha usado necesita asignar un password a root  o un administrador

  su -c psql postgres

o

  sudo -u postgres psql

Cambiar contrasena de postgres

  ALTER USER postgres WITH PASSWORD 'root123--';

Trucos

a. Cambiar el dueno de unas tablas

Use la siguiente sentencia:

  for tbl in `psql -qAt -c "select tablename from pg_tables where schemaname = 'public';" orfeodb` ; do

   echo “psql -c alter table $tbl owner to orfeousr orfeodb”    psql -c “alter table $tbl owner to orfeousr” orfeodb

  done
  for tbl in `psql -qAt -c "select sequence_name from information_schema.sequences where sequence_schema = 'public';" orfeodb` ; do

   echo “psql -c alter table $tbl owner to orfeousr orfeodb ”    psql -c “alter table $tbl owner to orfeousr” orfeodb

  done
  for tbl in `psql -qAt -c "select table_name from information_schema.views where table_schema = 'public';" orfeodb` ; do

   echo  “psql -c alter table $tbl owner to orfeousr orfeodb”    psql -c “alter table $tbl owner to orfeousr” orfeodb

  done

 

b. Crear usuario Read/Only

c. Instalacion en CentOS (toca a mano)

  postgresql-setup initdb
  chmod 777 /tmp
  chmod +t /tmp

https://www.hostinger.com/tutorials/how-to-install-postgresql-on-centos-7/

c. Instalacion versiones viejas Ubutu

Problemas

1. No me deja conectar desde aplicativo web

Si es un Centos /RedHat  seguro es SELINUX. Tiene que darle

  setsebool -P httpd_can_network_connect_db on

Y ahi debe funcionar

Ojo que phpPgAdmin sufre de lo mismo. El server debe ser 127.0.0.1 .. ..por socket nolo logra

-

————————- FIN ————————

Volver arriba