最新の本番ダンプを使用してデータベースを作成するタスクを自動化する python スクリプトを作成しようとしています。私は目的のためにpsychopg2を使用しています。
しかし、新しいデータベースを作成した後、以前に使用したデータベースを削除したいと考えています。私の考えは、リスト内のデータベースの名前を取得して並べ替えることができれば、不要なデータベースを簡単に削除できるというものです。
だから、私の質問は次のとおりです。リスト内のDBの名前を取得するにはどうすればよいですか。
ありがとう
最新の本番ダンプを使用してデータベースを作成するタスクを自動化する python スクリプトを作成しようとしています。私は目的のためにpsychopg2を使用しています。
しかし、新しいデータベースを作成した後、以前に使用したデータベースを削除したいと考えています。私の考えは、リスト内のデータベースの名前を取得して並べ替えることができれば、不要なデータベースを簡単に削除できるというものです。
だから、私の質問は次のとおりです。リスト内のDBの名前を取得するにはどうすればよいですか。
ありがとう
psql -E -U postgres -c "\l"
上記のコマンドの出力は次のようになります
********* QUERY **********
SELECT d.datname as "Name",
pg_catalog.pg_get_userbyid(d.datdba) as "Owner",
pg_catalog.pg_encoding_to_char(d.encoding) as "Encoding",
d.datcollate as "Collate",
d.datctype as "Ctype",
pg_catalog.array_to_string(d.datacl, E'\n') AS "Access privileges"
FROM pg_catalog.pg_database d
ORDER BY 1;
**************************
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
--------------+----------+----------+---------+-------+-----------------------
mickey | postgres | UTF8 | C | C |
mickeylite | postgres | UTF8 | C | C |
postgres | postgres | UTF8 | C | C |
template0 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
(5 rows)