我有一个主要的postgres数据库,我想创建第二个数据库来存储我的用户的计算结果。我的目标是当特定用户连接到第二个数据库时,他/她应该看不到其他数据库。
我用Flask Sqlalchemy创建了第一个。
不知道如何使用SQLAlchemy创建第二个数据库,我尝试了以下操作:
import psycopg2
from psycopg2.extensions import ISOLATION_LEVEL_AUTOCOMMIT
con = psycopg2.connect(dbname='postgres',
user='blabla', host='localhost',
password='blabla123')
con.set_isolation_level(ISOLATION_LEVEL_AUTOCOMMIT)
cur = con.cursor()
dbname='dbname'
cur.execute("CREATE DATABASE %s ;" %dbname )
user_sql="CREATE USER {} WITH PASSWORD '{}';".format('dodo','dodo123')
cur.execute(user_sql)
grant_sql="GRANT CONNECT ON DATABASE {} TO {} ".format(dbname,'dodo')
cur.execute(grant_sql)
我成功创建了数据库,但是当我使用该用户名/密码连接时,我仍然看到其他数据库及其表(当然,我仍然无法读取表)。
反正还有其他数据库吗?