psql -h host_base -d dbname -U usuario -f estrutura.sql;
psql -h host_base -d dbname -U usuario -f dados.sql;
Um blog de tecnologia que aborda diversos assuntos sobre tecnologia e desenvolvimento web.
sexta-feira, 15 de abril de 2016
Restaurando dump do Postgres
Uma das funções do banco de dados após feito seu backup é fazer a restauração do dump feito para de volta à base original, para executar basta usar o comando.
Referência: Postgres
quarta-feira, 30 de março de 2016
Gerando dump no Postgres usando o comando pg_dump
Uma maneira simples e rápida de gerar um dump de um banco ou tabela do Postgres é através da linha de comando. Abaixo é descrito como gerar a estrutura e popular a tabela.
pg_dump -h host_base -U nome_usuario -d nome_base -f estrutura.sql -s -c -E utf-8 -F p -O -v -x;
--disable-dollar-quoting --disable-triggers --no-security-labels --no-unlogged-table-data --quote-all-identifiers -t
pg_dump -h host_base -U nome_usuario -d nome_base -f dados.sql -a -b -E utf-8 -F p -O -v -x;
--disable-dollar-quoting --disable-triggers --no-security-labels --no-unlogged-table-data --quote-all-identifiers -t
Referência: pg-dump
pg_dump -h host_base
--disable-dollar-quoting --disable-triggers --no-security-labels --no-unlogged-table-data --quote-all-identifiers -t
pg_dump -h host_base
--disable-dollar-quoting --disable-triggers --no-security-labels --no-unlogged-table-data --quote-all-identifiers -t
Referência: pg-dump
quarta-feira, 16 de março de 2016
Instalando MongoDB no Ubuntu 15.10
O MongoDB é um dos SGDB que tem crescido muito no mercado e seu uso no linux o torna uma ferramenta muito poderosa. Segue abaixo como fazer sua instalação no Ubuntu.
- Adicionar a chave.
- sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
- Criando a lista repositório
- sudo echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
- Atualizando a lista de repositório
- sudo apt-get update
- Instalando o MongoDb
- sudo apt-get install mongodb-org
- Checando se está funcionando
- sudo systemctl status mongd
- Caso não funcione reinicie o servidor
- Caso ainda não funcione crie o script abaixo e o invoque:
echo '[Unit]
Description=High-performance, schema-free document-oriented database
After=syslog.target network.target
[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod -f /etc/mongod.conf
[Install]
WantedBy=multi-user.target' > /lib/systemd/system/mongod.service
# Setup the required directories
mkdir -p /var/run/mongodb/
mkdir -p /var/log/mongodb/
mkdir -p /var/lib/mongodb/
mkdir -p /data/db/
chown mongodb:mongodb /var/run/mongodb/
chown mongodb:mongodb /var/log/mongodb/
chown mongodb:mongodb /var/lib/mongodb/
chown mongodb:mongodb /data/db
chmod 0755 /var/log/mongodb/
chmod 0755 /var/run/mongodb/
chmod 0755 /var/lib/mongodb/
chmod 0755 /data/db/
# Start the new service and enable it on boot
systemctl --system daemon-reload
systemctl enable mongod.service
echo "Starting"
systemctl start mongod.service
Traduzido de: http://askubuntu.com/questions/724749/install-mongo-3-2-on-ubuntu-15-10
sexta-feira, 11 de março de 2016
Criando Atalhos no Qgis utilizando Python
Uma função muito interessante no Qgis é a criação de atalhos de teclado utilizando os scripts em Python. O exemplo abaixo cria um atalho que dá um print de mensagem utilizando as teclas CTRL + 2.
# See http://gis.stackexchange.com/questions/156633/how-to-launch-processing-tool-user-interface-using-pyqgis
import qgis.utils
from processing.core.Processing import Processing
from processing.gui.CommanderWindow import CommanderWindow
cw = CommanderWindow(iface.mainWindow(), iface.mapCanvas())
def openAlgorithm():
print 'HELLO WORLD'
# Assign "Ctrl+1" to openAlgorithm()
from PyQt4.QtGui import QShortcut, QKeySequence
from PyQt4.QtCore import Qt
shortcut = QShortcut(QKeySequence(Qt.ControlModifier + Qt.Key_2), iface.mainWindow())
shortcut.setContext(Qt.ApplicationShortcut)
shortcut.activated.connect(openAlgorithm)
Após salvar e rodar o script basta testar o atalho.
# See http://gis.stackexchange.com/questions/156633/how-to-launch-processing-tool-user-interface-using-pyqgis
import qgis.utils
from processing.core.Processing import Processing
from processing.gui.CommanderWindow import CommanderWindow
cw = CommanderWindow(iface.mainWindow(), iface.mapCanvas())
def openAlgorithm():
print 'HELLO WORLD'
# Assign "Ctrl+1" to openAlgorithm()
from PyQt4.QtGui import QShortcut, QKeySequence
from PyQt4.QtCore import Qt
shortcut = QShortcut(QKeySequence(Qt.ControlModifier + Qt.Key_2), iface.mainWindow())
shortcut.setContext(Qt.ApplicationShortcut)
shortcut.activated.connect(openAlgorithm)
Após salvar e rodar o script basta testar o atalho.
Alterando atributos do Layer no Qgis
Uma função muito útil no Qgis é rodar scripts Python, neste caso cito abaixo um script para alterar os atributos de uma layer pelo terminal de scripts Python do Qgis
layer = iface.activeLayer() #pega o layer atual da tela
layer.startEditing() #inicia a edição do layer
for f in layer.selectedFeatures(): #recupera as features de cada tupla
layer.changeAttributeValue(f.id(),6,'xxxx') #alterando o atributo da coluna 6 com texto xxx
layer.commitChanges() #confirma as alterações
print 'fim'
Referência: Qgis Doc
layer = iface.activeLayer() #pega o layer atual da tela
layer.startEditing() #inicia a edição do layer
for f in layer.selectedFeatures(): #recupera as features de cada tupla
layer.changeAttributeValue(f.id(),6,'xxxx') #alterando o atributo da coluna 6 com texto xxx
layer.commitChanges() #confirma as alterações
print 'fim'
Referência: Qgis Doc
terça-feira, 23 de fevereiro de 2016
Recuperando dados de um TIMESTAMP no Postgres
Uma função muito útil do Postgres é a recuperação de dados de um Timestamp, abaixo executamos a extração de dia, mês e ano de um timestamp.
SELECT EXTRACT(DAY FROM TIMESTAMP '2016-02-16 00:15:00');
SELECT EXTRACT(MONTH FROM TIMESTAMP '2016-02-16 00:15:00');
SELECT EXTRACT(YEAR FROM TIMESTAMP '2016-02-16 00:15:00');
Também podemos executar de uma outra forma para obter o mesmo resultado:
SELECT date_part('YEAR', timestamp '2014-04-25 08:44:21');
SELECT date_part('MONTH', timestamp '2014-04-25 08:44:21');
SELECT date_part('DAY', timestamp '2014-04-25 08:44:21');
SELECT EXTRACT(DAY FROM TIMESTAMP '2016-02-16 00:15:00');
SELECT EXTRACT(MONTH FROM TIMESTAMP '2016-02-16 00:15:00');
SELECT EXTRACT(YEAR FROM TIMESTAMP '2016-02-16 00:15:00');
Também podemos executar de uma outra forma para obter o mesmo resultado:
SELECT date_part('YEAR', timestamp '2014-04-25 08:44:21');
SELECT date_part('MONTH', timestamp '2014-04-25 08:44:21');
SELECT date_part('DAY', timestamp '2014-04-25 08:44:21');
Criando TRIGGERS no Postgres 9.2
Um dos recursos mais simples de um SGDB e comuns à serem utilizados são as TRIGGERS ou "Gatilhos', estes executam um processo antes ou depois de uma determinada ação no banco de dados. No exemplo abaixo é inserido um registro em uma tabela após uma tabela referente sofrer alteração em seus registros.
O primeiro passo é criar uma função que será executada toda vez que a tabela referente sofrer alteração.
OBS: A variável NEW se trata dos dados que estão vindo da alteração da tabela referente.
CREATE TRIGGER TR_atualiza_tabela AFTER INSERT OR UPDATE ON tabela_referente
FOR EACH ROW EXECUTE PROCEDURE atualiza_tabela();
O primeiro passo é criar uma função que será executada toda vez que a tabela referente sofrer alteração.
OBS: A variável NEW se trata dos dados que estão vindo da alteração da tabela referente.
CREATE OR REPLACE FUNCTION atualiza_tabela () RETURNS trigger as $registro$
BEGIN
INSERT INTO tabelaX (campo1, campo2, campo3)
VALUES ( NEW.dado1, NEW.dado12, NEW.dado3,
);
RETURN NEW;
END;
$registro$ LANGUAGE plpgsql;
Agora criamos literalmente a TRIGGER que será acionada toda vez que a tabela referente sofrer alteração, chamando a função que criamos acima.
FOR EACH ROW EXECUTE PROCEDURE atualiza_tabela();
Fonte: http://www.postgresql.org/docs/9.2/static/plpgsql-trigger.html
Assinar:
Postagens (Atom)