pg_stat_database
にアクセスしようとしていますが、sqlalchemyのメタデータで表示していますが、そのエラーが発生しています。ここに私のコードはsqlalchemyを介して `pg_stat_database`ビューを問い合わせます
engine = "Some_engine_specification"
metadata = MetaData()
metadata.reflect(engine, views=True, only=["table", "table2", "pg_stat_database"]
base = automap_base(metadata=metadata)
base.prepare()
pg_stat_database
を反映することはできませんエラーをスローします。私はまだスキーム、エラーに言及している場合でも
pg_stats = base.classes.pg_stat_database
としてクラスを初期化しながら、
は私がonly=['blablabla']
部分を指定いけない場合でも、それはまだエラーを与えます。私は上記のコードで他のテーブルにアクセスすることができます。
編集1
は、IljaEveriläに感謝します。正しく反映し、テーブルのインスタンスを取得するには、使用が次
engine = "some_engine_specification"
metadata = MetaData()
metadata.reflect(engine, only=["table1", "table2"])
metadata.reflect(engine, schema='pg_catalog', views=True, only=["pg_stat_database"]
base = automap_base(metadata=metadata)
base.prepare()
table1 = base.classes.table1
table2 = base.classes.table2
pg_stat_database = base.metadata.sorted_tables[index_of_pg_stat_database]
# To query
result = scoped_db_session.query(pg_stat_database).filter(pg_stat_database.columns.datname=="your_database")
正しいインデックスをプログラムで取得するにはどうすればよいですか? –
あなたは 'index_of_pg_stat_database'を意味しますか? – Niyojan
はい。あなたが 'only'に渡すあなたのリストを組み合わせて並べ替え、次にインデックスを作成すればいいのでしょうか?汚い感じ。 –