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

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.


  1. Adicionar a chave.
    1. sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
  2. Criando a lista repositório
    1. 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
  3. Atualizando a lista de repositório
    1. sudo apt-get update
  4. Instalando o MongoDb
    1. sudo apt-get install mongodb-org
  5. Checando se está funcionando
    1. sudo systemctl status mongd
  6. Caso não funcione reinicie o servidor
  7. 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.

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