bounty还有6天到期。回答此问题可获得+50声望奖励。showkey正在寻找一个答案从一个有信誉的来源。
列出数据库sample
中的所有表:
from sqlalchemy import (MetaData, Table)
from sqlalchemy import create_engine, inspect
db_pass = 'xxxxxx'
db_ip='127.0.0.1'
engine = create_engine('postgresql://postgres:{}@{}/sample'.format(db_pass,db_ip))
inspector = inspect(engine)
print(inspector.get_table_names())
['pre', 'sample']
现在删除表pre
:
metadata = MetaData()
pre_table = Table('pre', metadata)
pre_table.drop(engine, checkfirst=True)
进入psql时输入\d
,sample
数据库中只显示一个表:
psql -U postgres
postgres=# \c sample
You are now connected to database "sample" as user "postgres".
sample=# \d
public | sample | table | postgres
表pre
已删除!但是print(inspector.get_table_names())
(第二次输入)仍然显示数据库中的两个表:
print(inspector.get_table_names())
['pre', 'sample']
如何使用table.drop(engine,checkfirst=True)该高速缓存?
1条答案
按热度按时间ni65a41a1#
您可以通过创建
inspector
对象的新示例来“清除该高速缓存”: