Comandos úteis do PostgreSQL
Executando scripts longos dentro de uma transação
BEGIN;
\o /data/file.log
\i /data/file.sql
COMMIT; # se não houver erros
ROLLBACK; # se houver problemas
\o # de volta para o terminalRestaurar um backup dentro de um arquivo .tar.bz2
Procure o arquivo .out dentro do arquivo .tar.bz2.
tar --list --file=backup.tar.bz2Este comando lista todos os arquivos dentro do arquivo compactado.
script.sh
README.txt
backup/my_db.out
backup/my_db_log_backup.txtAgora, crie o novo banco de dados.
createdb my_dbUse o caminho correto do .out (dentro do .tar.bz2) no comando tar, para a saída padrão (stdout). Ao mesmo tempo, envie a stdout para o psql.
tar Ojxvf backup.tar.bz2 backup/my_db.out | psql my_dbMostrar campos NULL no psql
Normalmente, o comando psql deixa os campos nulos em branco quando você executa uma query. Para forçar o psql a mostrar os valores nulos, use o comando \pset.
rodrigo@server:~$ psql test_db
psql (9.1.11)
Type "help" for help.
test_db=# SELECT NULL;
?column?
----------
(1 row)
test_db=# \pset null '(null)'
Null display is "(null)".
test_db=# SELECT NULL;
?column?
----------
(null)
(1 row)
test_db=# \q
rodrigo@server:~$No exemplo acima, vemos como o PostgreSQL mostra o valor nulo antes e depois do comando \pset. O texto escolhido para representar o valor nulo foi (null), mas pode ser qualquer outra string.
Essa configuração está disponível apenas nesta execução do psql.
Referência: Output Format Options
Rodrigo de Avila