1
SQLファイルを実行しているときにpostgres出力コンソールに印刷するにはどうすればいいですか?
は、私は、このコマンドを使用して、私のSQLファイルを実行します。次の出力を生成SQLファイルを実行しているときにpostgresの出力コンソールに物を印刷する方法は?
DO $$ BEGIN
RAISE INFO ' ';
RAISE INFO ' ';
RAISE INFO '1...';
END $$;
SELECT paciente.nome
FROM paciente
WHERE paciente.idade =
(SELECT MIN(paciente.idade)
FROM paciente);
DO $$ BEGIN
RAISE INFO ' nome ';
RAISE INFO '-----------------';
RAISE INFO 'Maria Aparecida';
RAISE INFO ' ';
RAISE INFO ' ';
RAISE INFO ' ';
RAISE INFO '2...';
END $$;
SELECT consulta.data, consulta.hora
FROM consulta
WHERE consulta.valor =
(SELECT MAX(consulta.valor)
FROM consulta);
DO $$ BEGIN
RAISE INFO ' Data hora valor';
RAISE INFO '"2002-03-21"; "09:00:00";122.0000';
RAISE INFO ' ';
RAISE INFO ' ';
RAISE INFO ' ';
RAISE INFO '3...';
END $$;
::私は多くのことを検索し、私はこの戦略を見つけ
PGPASSWORD=admin;
psql --host "localhost" --port 5432 --username "postgres" -d "aula21" < $1
INFO:
INFO:
INFO: 1...
DO
nome
-----------------
Maria Aparecida
(1 row)
INFO: nome
INFO: -----------------
INFO: Maria Aparecida
INFO:
INFO:
INFO:
INFO:
INFO:
INFO:
INFO: 2...
DO
data | hora
------------+----------
2002-03-21 | 09:00:00
(1 row)
INFO: Data hora valor
INFO: "2002-03-21"; "09:00:00";122.0000
INFO:
INFO:
INFO:
INFO:
INFO:
INFO:
INFO: 3...
DO
しかし、このように書く方がいいですか?
print ' ';
print ' ';
print '1...';
SELECT paciente.nome
FROM paciente
WHERE paciente.idade =
(SELECT MIN(paciente.idade)
FROM paciente);
print ' nome ';
print '-----------------';
print 'Maria Aparecida';
print ' ';
print ' ';
print ' ';
print ' ';
print ' ';
print ' ';
print '2...';
SELECT consulta.data, consulta.hora
FROM consulta
WHERE consulta.valor =
(SELECT MAX(consulta.valor)
FROM consulta);
print ' Data hora valor';
print '"2002-03-21"; "09:00:00";122.0000';
print ' ';
print ' ';
print ' ';
print ' ';
print ' ';
print ' ';
print '3...';
ポイントも使用して達成することができる:
\echo 'INFO: '
\echo 'INFO: 1...'
\echo 'INFO: '
SELECT paciente.nome
FROM paciente
WHERE paciente.idade =
(SELECT MIN(paciente.idade)
FROM paciente)
\echo 'INFO: nome '
\echo 'INFO: -----------------'
\echo 'INFO: Maria Aparecida'
\echo 'INFO: '
\echo 'INFO: '
\echo 'INFO: '
\echo 'INFO: '
\echo 'INFO: '
\echo 'INFO: 2...'
\echo 'INFO: '
SELECT consulta.data, consulta.hora
FROM consulta
WHERE consulta.valor =
(SELECT MAX(consulta.valor)
FROM consulta)
\echo 'INFO: Data hora valor'
\echo 'INFO: "2002-03-21" "09:00:00"122.0000'
\echo 'INFO: '
\echo 'INFO: '
\echo 'INFO: '
\echo 'INFO: '
\echo 'INFO: '
\echo 'INFO: 3...'
\echo 'INFO: '
SQLを実行しているときにユーザーフレンドリーな出力が本当によく現れないのは、私が恐れることです。それを書いて実行する人は、通常、それについて知っています:)私はあなたがそれを必要とする理由を尋ねることができますか – dahrens