PostgreSQLでSQLをファイルから読み込む方法
PostgreSQLでSQLをファイルから読み込む方法を紹介します。
1.問題点
下記のようなSQLを用意しました。
select * from hoge_20220520;
select * from hoge_20220519;
:
select * from hoge_20220101;
手で投入するのは時間がかかるため、SQLをファイルに設定して、そのファイルを読み込ませたいのですが、方法が分かりません。
ということで、PostgreSQLでSQLをファイルから読み込む方法を紹介します。
2.PostgreSQLでSQLをファイルから読み込む
PostgreSQLでSQLをファイルから読み込むには、psqlのメタコマンド"\i"または"\include"で実現可能です。
具体的には下記の手順で実施します。
まず、1項のSQLをtest.sqlに設定します。
作成したtest.sqlを、SQLを実行させたいユーザーがアクセス可能なディレクトリに配置します。
たとえばpostgresユーザーでSQLを読み込ませる場合、ファイルを/var/lib/pgsqlに配置します。/rootに配置するとpostgresユーザーでは読み込めないので注意してください。
準備ができたら下記の手順でSQLファイルを読み込ませます(postgresユーザーでの実施手順で示します)。
# su - postgres
$ psql -U <ユーザ名> -d <データベース名>
$ postgres=> \i test.sql
または
$ postgres=> \include test.sql
なお、SQLの経過情報はデフォルトでは表示されません。読み取った行を画面に表示させる場合は、下記のようにECHO変数をallに設定する必要があります。
$ psql -a -U <ユーザ名> -d <データベース名>
または
$ psql --echo-all -U <ユーザ名> -d <データベース名>
Posted by yujiro このページの先頭に戻る
- 「psql: FATAL: Peer authentication failed for user "postgres"」が表示された場合の対処
トラックバックURL
コメントする
greeting