pg_stat_database que apresenta para cada banco de dados o número de conexões.
SELECT * FROM Busca_de_Conhecimento WHERE Tema LIKE '% Banco de Dados %' or Tema LIKE '% Assuntos relacionados%'
quarta-feira, 6 de fevereiro de 2013
DUMP E RESTORE - PostgreSQL
Dump
dump de um banco inteiro - formato sql puro
pg_dump -U usuario -h ip_servidor nomedobanco > nomedobanco.sql
dump de um banco inteiro - formato binario
pg_dump -U usuario -h ip_servidor -Fc -f banco.dump nome_do_banco
dump de uma tabela do banco
pg_dump -U usuario -h ip_servidor -Fc -t tabela -f tabela.pgdump nome_do_banco
dump de um table de um schema
pg_dump -U postgres -h 127.0.0.1 -Fc -n schema -t tabela -f tabela.pgdump banco
Restore
para restaurar um banco com dump em formato SQL
psql -U usuario -h ip_do_servidor -f nomeodabanco.sql nomedobanco
para restaurar um banco com dump em formato binário
pg_restore -U usuario -h ip_servidor -d nome_do_banco arquivo.dump
para restaurar somente os dados:
pg_restore -U usuario -h ip_servidor -a -d nome_do_banco arquivo.dump
para restaurar somente um determinado esquema
pg_restore -U usuario -h ip_servidor -n meu_esquema -d nome_do_banco arquivo.dump
para restaurar apenas os dados de uma tabela especifica
pg_restore -U usuario -h ip_servidor -a -t tabela_especifica -d nome_do_banco arquivo.dump
exemplos
fazendo dump de tabela da radioagencia
pg_dump -Fc -U drupal -h 127.0.0.1 -t drupal_webform -f arquivo -d drupal drupal_webform
restaurando tabela da radioagencia
pg_restore -Fc -U drupal -h 127.0.0.1 -t drupal_webform -d drupal drupal_webform
Observe o formato do DUMP, ele precisa ser tipo C ou tipo F para que o pg_restore consiga recuperar, se for plain text vai dar erro.
dicas soltas
alterando senha do usuario
postgres=#alter user fernando with password 'senha';
tamanho de uma base
dados sem arrendodamento, tamanho do bancos apenas
postgres=# SELECT pg_database_size('geekdb');
arredondando, tamanho do banco apenas
postgres=# SELECT pg_size_pretty(pg_database_size('geekdb'));
tamanho real do banco no disco arredondando
postgres=# SELECT pg_size_pretty(pg_database_size('somedatabase')) As fulldbsize;
tamanho de uma tabela
postgres=# SELECT pg_size_pretty(pg_total_relation_size('drupal_cache'));
nde
tamanho de todas as tabelas
postgres=# SELECT relname as "Table", pg_size_pretty(pg_total_relation_size(relid)) As "Size", pg_size_pretty(pg_total_relation_size(relid) - pg_relation_size(relid)) as "External Size" FROM pg_catalog.pg_statio_user_tables ORDER BY pg_total_relation_size(relid) DESC;
tamanho de todos as tabelas e objetos maiores que 64k
postgres=# SELECT relname AS objectname, relkind AS objecttype, reltuples AS "#entries", pg_size_pretty(relpages::bigint*8*1024) AS size FROM pg_class WHERE relpages >= 8 ORDER BY relpages DESC;
tamanho da maior tabela para menor
SELECT relname, relpages FROM pg_class ORDER BY relpages DESC;
psql
usando o console
listando bancos
postgres=# \l
conectando a um banco
postgres=# \c nome_do_banco
outros
work mem
Quando algum processo pesado é executado, por exemplo a geracao de indices do drupal ou consultas que usam muito ORDER BY, um diretorio pgsql_temp será criado caso o uso da memoria setado na variavel WORK_MEM seja execedido.
Nestes caso o aconselhável é aumentar - perante monitoramento - o parametro WORK_MEM na sessão em que está executando a query ou rodando os indices.
SET WORK_MEM TO "64MB"
Esse valor é por consulta, se colocar um valor muito alto a máquina vai sentar bonito, procure um valor entre 64 e 128, monitorando o servidor para verificar o impacto.
Assinar:
Postagens (Atom)