我在云端运行的功能很好的远程PostgreSQL实例(Amazon RDS)。我想获得一份本地副本用于开发。远程实例在Ubuntu上,我在Mac上本地使用postgres.app。我采用了这种方法:
psql -h localhost -U <superuser> template1 -c 'CREATE DATABASE <thedbname>;'
pg_dump -U <remoteuser> -h <remotehost> <thedbname> | psql -h localhost -U <localsuperuser> <thedbname>
数据传来并加载。我添加了一个本地djangouser并将其放入我的settings.py中。当我尝试连接时,我收到了这条消息:
ProgrammingError: permission denied for relation django_site
我四处搜索然后应用了这个:
psql <mydbname> -c "GRANT ALL ON ALL TABLES IN SCHEMA public to <djangoappusername>;"
psql <mydbname> -c "GRANT ALL ON ALL SEQUENCES IN SCHEMA public to <djangoappusername>;"
psql <mydbname> -c "GRANT ALL ON ALL FUNCTIONS IN SCHEMA public to <djangoappusername>;"
这让我可以“运行服务器”。我浏览网站,所有数据都在那里,它的速度非常快,并按预期运行。但后来我加载了/ admin /。 。 。它的狗很慢。我可以登录并移动但是从屏幕移动到屏幕需要90秒(Chrome在左下方显示“连接...”)。它不是一个非常大的数据库。除了/ admin / access之外的一切都很棒。我确实删除了旧的admin.pyc,没有效果。
我想知道的一件事是我使用的角色,我没有使用远程超级用户,我使用了在设置PostgreSQL的RDS实例时创建的角色,这就是\ du看起来像在那里,我使用了第一个角色:
List of roles
Role name | Attributes | Member of
---------------+------------------------------------------------+-----------------
<remoteuser> | Create role, Create DB | {remotesuperu}
<remotesuperu>| Cannot login | {}
<rdsadmin> | Superuser, Create role, Create DB, Replication | {}
还有一件事,这些是我的本地角色,是数据库的所有者:
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------+-----------
<djangou> | Create DB | {}
<superu> | Superuser, Create role, Create DB, Replication | {}
<dbowner> | Create role, Create DB, Cannot login | {}
任何人都对如何正确修复缓慢的管理员有任何想法,或者如果有更好的方法,我会很乐意放弃数据库并重新启动它。
答案 0 :(得分:0)
我打开了开发人员工具,管理员试图获取css&amp;来自未运行的远程EC2实例上的“收集静态”的js。我把它解雇了所以它可以访问这些文件,一切都很好。我会留下问题和答案,以帮助将来帮助某人。