¡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

- Crear base de datos de orfeo

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

root> su - postgres
root> psql ****

- Cambiar contrasena de postgres

ALTER USER postgres WITH PASSWORD '(root)';

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

Use la siguiente sentencia:

- https://jamie.curle.io/posts/creating-a-read-only-user-in-postgres/

 

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/
 

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 ------------------------=========================================================================---------------------------------------------

Advertencia

Este documento es privado y es de uso exclusivo de sus autores y de SKINA TECH. Cualquier uso sin una autorización escrita es contra la ley de derechos de autor y de propiedad intelectual, y será motivo de una acción legal. 


 

Volver arriba