Ir al contenido principal

Iniciándose en PostgreeSQL

Referencias:
  • http://www.guia-ubuntu.org/index.php?title=PostgreSQL
Paquetes:
  • Motor de Datos y Administrador: postgresql postgresql-client pgadmin3
  • Soporte PHP y Administrador basado en php: phppgadmin php5-pgsql
  • Visualizar Diagramas Fisicos: postgresql-autodoc dia-gnome
Configuración
1) La instalación creó un usuario del sistema postgres, al cual le cambié la contraseña a q1w2e3:
$ sudo passwd postgres

2) Accedemos a la consola pgsql:
$ sudo su postgres -c "psql template1"

3)Dentro de la consola:

template1=# ALTER USER postgres WITH PASSWORD 'q1w2e3;


Salida de los pasos 1) 2) 3):
ubuntu@ubuntu:~$ sudo passwd postgres
Introduzca la nueva contraseña de UNIX:
Vuelva a escribir la nueva contraseña de UNIX:
passwd: contraseña actualizada correctamente

ubuntu@ubuntu:~$ sudo su postgres -c "psql template1"
Bienvenido a psql 8.3.7, la terminal interactiva de PostgreSQL.

Teclee: \copyright para ver los términos de distribución
\h para ayuda sobre órdenes SQL
\? para ayuda sobre órdenes psql
\g o punto y coma («;») para ejecutar la consulta
\q para salir

template1=# ALTER USER postgres WITH PASSWORD 'q1w2e3';
ALTER ROLE
template1=# \q

ubuntu@ubuntu:~$

4) Modificar el archivo de configuración para permitir conecciones externas.
$ sudo gedit /etc/postgresql/8.2/main/postgresql.conf
buscar #listen_addresses = 'localhost' y cambiar por listen_addresses = '*'
buscar #password_encryption = on y cambiar por password_encryption = on

Problemas:
Problema 1: http://localhost/phppdamin por defecto no permite conectarse al usuario postgres, por motivos de seguridad, para permitirselo:
en ¿conf/config.inc.php? en este existe una variable llamada:
$conf['extra_login_security'] por defecto esta en true, si tratas de ingresar con el usuario postgres no te lo permitirá, ponlo en false.

Problema 2: Si ocupamos mayúsculas/minúsculas para el nombre de los campos en las tablas, forzamos a que en el insert se ocupe " (comilla doble) para el nombre del campo. Además postgres nos obliga a utilizar ' (comilla simple) en el valor del campo.

Quedando la consulta así: insert into planeta("idPlaneta","nombrePlaneta") values(4,'Mercurio');

Esto genera inconvenientes en la creación de Scripts en php, dado lo anterior se utilizará solo minúsculas en los nombres de los campos y de las tablas. Las consultas quedarán
insert into planeta(idplaneta,nombreplaneta) values(4,'Mercurio');

Problema 3: ¿Cómo hacer que una llave primaria se autoincremente? Primero es necesario crear una secuencia, luego colocar como valor por defecto de la llave el siguiente valor de la secuencia. ver: http://www.faqts.com/knowledge_base/view.phtml/aid/204/fid/16

Primero crear secuencia:

CREATE SEQUENCE secuenciaplaneta
INCREMENT 1
START 4;

Luego al crear la tabla:
CREATE TABLE planeta
(
idplaneta integer NOT NULL DEFAULT nextval('secuenciaplaneta'::regclass),
nombreplaneta character varying(20),
CONSTRAINT planeta_pkey PRIMARY KEY (idplaneta)
)
WITH (OIDS=FALSE);
ALTER TABLE planeta OWNER TO postgres;

Problema 4: Uno de nuestros problemas con mysql eran las fallas silentes y muchas veces nos quedabamos con integridad referencial rota. He aquí como forzar que no permita integridad referencial rota:

CREATE TABLE continente
(
idcontinente integer NOT NULL,
nombrecontinente character varying(20),
fkplaneta integer,
CONSTRAINT continente_pkey PRIMARY KEY (idcontinente),
CONSTRAINT continente_fkplaneta_fkey FOREIGN KEY (fkplaneta)
REFERENCES planeta (idplaneta) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT
)
WITH (OIDS=FALSE);
ALTER TABLE continente OWNER TO postgres;


Problema 5: obtención de diagramas fisicos de las bases creadas.
Con ello podremos generar diagramas de la base de datos que posteriormente con dia podemos editar y visualizar.
$ postgresql_autodoc -d nombrebasededatos -h localhost -u usuario --password
pedira la clave del usuario y generara archivos .dia que nos servirán para trabajar.

Entradas más populares de este blog

Tips para una estadía en Chile

Tips para una estadía en Chile Recibir dinero En Chile se cambia de moneda en "casas de cambio" que son comercios establecidos, el tipo de cambio en el aeropuerto será poco conveniente. No cambiar ahí mas de 50 EUR/USD.- En Chile está ampliamente difundido el uso de tarjetas de crédito (Mastercard/Visa) lo ideal es tener una tarjeta de crédito con la mas baja comisión internacional (Visa Signature o Superior, Mastercard Black) Desde América Látina la forma mas conveniente de enviar dinero a Chile es Global66 (Argentina, Colombia, Ecuador, México, Perú). En algunos de estos países Global66 ofrece tarjeta de débito física con un tipo de cambio y comisión internacional muy bajo. Si deseas recibir dinero desde EEUU/Europa www.wise.com es una muy buena opción, el inconveniente es que requieres una cuenta bancaria para recibir el dinero en Chile. Para abrir cuenta bancaria se requiere cédula de identidad vigente (toma meses obtenerla), una vez con la cédula podrías abrir: https://p...

Indicadores para Thinkorswim TOS

Indicadores para ThinkOrSwim TOS  Fed Liquidity Indicator : Band  https://pastebin.com/M6ttyxDf Blai5 Konkorde : ¿Cómo usarlo? https://www.blai5.net/blai5-koncorde-la-importancia-del-volumen/ https://www.farobursatil.com/como-usar-indicador-koncorde-y-patrones/ Versión para TOS  https://pastebin.com/E35iGHjf Momentum Alcista o Bajista Según Carpatos:  https://pastebin.com/BJcTVX3Y

Visión de Mercado

Última Actualización: Octubre 15, 2022 OCDE: Composite leading indicator (CLI) Indicador adelantado del ciclo económico (indica dos meses antes de la bolsa para donde va el precio), mirar máximos y mínimos. ( En crisis des-inflacionarias, en inflacionarias, mirar la inflación como indicador adelantado ) usa:  https://fred.stlouisfed.org/series/USALOLITONOSTSAM ocde:   https://data.oecd.org/leadind/composite-leading-indicator-cli.htm Inflación Expectativa de Inflación  https://tradingeconomics.com/united-states/inflation-expectations Inflación  https://tradingeconomics.com/united-states/inflation-cpi Indicador impulso general del mercado (% acciones sobre su propia media de 50 sesiones) Al pasar de mínimos a máximos indica inicio de tendencia alcista. Se confirma con índice de nuevos máximos y mínimos. https://stockcharts.com/h-sc/ui?s=%24SPX&p=W&yr=5&mn=0&dy=0&id=p81333494724&a=1206686319 Indice de nuevos máximos y mínimos Este confirma el ant...