Indice Parcial no Postgresql

Standard

Segue abaixo um exemplo de como trabalhar com índices parciais no postgresql, para saber mais sobre o assunto clique no link que segue:

http://pgdocptbr.sourceforge.net/pg80/indexes-partial.html

EXEMPLO:

-- Criar Table: contato

CREATE TABLE contato
(
id bigserial NOT NULL,
datanascimento date,
email character varying(255),
nome character varying(255),
CONSTRAINT contato_pkey PRIMARY KEY (id),
CONSTRAINT contato_email_key UNIQUE (email)
)
WITH (
OIDS=FALSE
);
ALTER TABLE contato OWNER TO postgres;

-- Criando indice parcial (só valida a unicidade do campo e-mail se o mesmo for diferente de null)
CREATE INDEX email_ix ON contato (email)
WHERE email IS NOT NULL;

-- O Comando abaixo pode ser executada várias vezes sem gerar erro 
INSERT INTO contato (datanascimento,email,nome) values (now(),null,'nome')

-- O Comando abaixo gera o seguinte erro quando executado mais de uma vez:
-- ERRO:  duplicar valor da chave viola a restrição de unicidade "contato_email_key"
INSERT INTO contato (datanascimento,email,nome) values (now(),'teste@teste.com.br','nome')

-- Ver resultado
SELECT * FROM contato

1 2010-12-15 null nome
2 2010-12-15 null nome
3 2010-12-15 teste@teste.com.br nome

Clonar tabela com comando SQL

Standard

Abaixo segue comandos SQL para clonar uma tabela de duas formas, apenas a estrutura e a estrutura + os dados

-- Clona apenas a estrutura
select * into NEW_TABLE from TABLE_ORIGEM limit 0 

-- Clona a estrutura + dados 
select * into NEW_TABLE from TABLE_ORIGEM

Deletando conta do postgresql no prompt de comando no windows vista

Standard

Vai em executar, digita: cmd

Depois digita: net user (aparecera todas as contas de usuarios no seu computador).

Apos isso digite: net user nomedaconta /delete (no caso nome da conta tem que constar em net user).

Apos isso ele dará uma mensagem de comando executado com sucesso e a conta será excluída é só reiniciar e reinstalar.

Obs.: Para executar estes comando voce tera que estar com uma conta com privilégios de administrador.