Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
com/claudioaccr/7792328
2 de 3 03/04/2014 16:17
PostgreSQL - Dicas Avanadas https://gist.github.com/claudioaccr/7792328
74
75 # Duplicar banco de dados
76 Basta criar um novo banco usuando o banco que dever ser clonado como template.
77 create database <novo_db> with template <antigo_db> encoding <charset>
78
79 # Habilitar e Desabilitar Triggers
80 ALTER TABLE [nome_tabela]
81 DISABLE TRIGGER [nome_trigger];
82
83 ALTER TABLE [nome_tabela]
84 ENABLE TRIGGER [nome_trigger];
85
86
87 # Restore de Dump a partir do pg_restore
88 pg_restore -d nome_banco_destino -U postgres /caminho/nome_arquivo_dump
89
90
91 # Gerando aspas simples e duplas
92 select chr(39) || 'texto' || chr(39) --aspas simples
93 select chr(34) || 'texto' || chr(34) --aspas duplas
94
95
96 # Usando Postgresql com Shell Script com arquivo de senha (3 passos)
97
98 1 - Criar arquivo .pgpass na home do usurio que usar o script
99 Exemplo: Usurio Fulano
100 vim /home/fulano/.pgpass
101
102 2 - Editar o contedo do arquivo (no pode haver espao entre os campos)
103 ip_do_servidor:porta:*:usuario_do_banco:senha_do_banco
104 Exemplo: localhost:5432:*:postgres:senha
105
106 3 - Definir as permisses para o arquivo de senha
107 chmod 600 /home/fulano/.pgpass
108
109
110 # Funes Left e Right
111 substring(campo from char_length(campo) - 3) -- Function Right(4)
112
113
114
115 -----
116
117 select dh_cadastro_oc, coalesce(total, 0) as total
118 from
119 (
120 select generate_series(0, date '2013-05-07' - date '2013-04-07' ) + date '2013-04-07' as dh_cadastro_oc
121 ) as x
122 left join
123 (
124 SELECT CAST(ocorrencias.DH_CADASTRO_OC AS DATE) as dh_cadastro_oc, COUNT (*) AS total
125 FROM ocorrencias
126 WHERE ocorrencias.DH_CADASTRO_OC>='07/04/2013' AND ocorrencias.DH_CADASTRO_OC<='07/05/2013'
127 -- AND ocorrencias.CD_MUNICIPIO_MU = '057'
128 GROUP BY CAST(ocorrencias.DH_CADASTRO_OC AS DATE)
129 ) as y
130 using (dh_cadastro_oc)
3 de 3 03/04/2014 16:17