2016-10-24 105 views
1

我是一名软件测试员。我想在本地测试我的项目。所以我想用psql命令插入数据库。我尝试了很多次。我无法访问登录页面。如何使用Linux终端在PostgreSQL中运行SQL文件?

这是我做过什么:

[email protected]:/home/naveen$ psql -U admin docmgr 

Password for user admin: psql (9.5.4) Type "help" for help. 

docmgr=> psql docmgr -f /var/www/html/docmgr/application/assets/dd/structs/docmgr_21Oct2016.sql -U admin 
docmgr-> \dt No relations found. 

docmgr-> \dt No relations found. 

docmgr-> select * from admin_users; 

ERROR: syntax error at or 
near "psql" LINE 1: psql docmgr -f 
/var/www/html/docmgr/application/assets/dd/st... 
     ^
+0

内容:SQL创建表查询。不会有任何错误。它什么都没显示。当我选择表“\ dt”的列表。它显示没有发现关系。我认为该命令不起作用.. –

+0

标题说“如何在* postgres中转储sql文件*”,尽管在你的问题中,你似乎问“如何将sql文件*转储到* postgres中。 ..“。那么,它是什么?从Postgres获取数据,或将数据导入Postgres? –

+0

我的假设是:文件中包含文本' - 这些不是您正在查找的转储文件.'不太可能,但它符合我们提供的信息。 – IMSoP

回答

3

这是错误的:

docmgr=> psql docmgr -f /var/www/html/docmgr/application/assets/dd/structs/docmgr_21Oct2016.sql 

您从psql内运行psql但 “PSQL” 不是SQL语句。

您也需要直接在命令提示符下运行:

[email protected]:/home/naveen$ psql -U admin -d docmgr -f /var/www/html/docmgr/application/assets/dd/structs/docmgr_21Oct2016.sql 

或者从psql您需要使用\i命令来运行SQL脚本:

[email protected]:/home/naveen$ psql -U admin docmgr 

Password for user admin: psql (9.5.4) Type "help" for help. 

docmgr=> \i /var/www/html/docmgr/application/assets/dd/structs/docmgr_21Oct2016.sql 
+0

postgres @ naveen-Inspiron-3542:/ home/naveen $ psql -U admin -d docmgr -f /var/www/html/docmgr/application/assets/dd/structs/docmgr_21Oct2016.sql 用户管理员密码: /var/www/html/docmgr/application/assets/dd/structs/docmgr_21Oct2016.sql:没有这样的文件或目录 postgres @ naveen-Inspiron-3542:/ home/naveen $ psql -U admin docmgr 用户管理员的密码: psql(9.5.4) 输入“help”寻求帮助。 docmgr => \ i /var/www/html/docmgr/application/assets/dd/structs/docmgr_21Oct2016.sql /var/www/html/docmgr/application/assets/dd/structs/docmgr_21Oct2016.sql:否这样的文件或目录 docmgr => –

+0

好吧,这是插入谢谢你 –

+0

海..还有一个问题。它是插入,但是当我把用户名和密码。它无法访问原因? –