在新的postgreSQL数据库中输入.sql文件



我有问题开始使用psql。我可以使用下面的脚本登录

myusername@ubuntu:~/Desktop/dbscripts$ sudo su - postgres
postgres@ubuntu:~$ 

但是,一旦在这里,我不知道如何找到我的。sql文件。我尝试了Bolo提供的选项:如何导入现有的*。PostgreSQL 8.4中的sql文件?但是它们只给出

myusername@ubuntu:~/Desktop/dbscripts$ psql -U root -d first -f myscript.sql
psql: FATAL:  Peer authentication failed for user "root"

myusername@ubuntu:~/Desktop/dbscripts$ psql -f myscript.sqlp
sql: FATAL:  role "myusername" does not exist

myusername@ubuntu:~/Desktop/dbscripts$ sudo su - postgres
postgres@ubuntu:~$ i myscript.sql
The program 'i' is currently not installed. To run 'i' please ask your administrator to install the package 'iprint'

这可以从您尝试的任何上述选项中处理。在哪个路径中有myscript.sql?完成su - postgres后,给出完整路径。所以是psql -d first -f <pathtosqlfile>/myscript.sqlpsql -U root将不工作,除非你有一个用户在数据库中的根。试试psql -U postgres。您可以在psql提示符下执行i sqlscript,而不是像以前那样在linux命令提示符下执行。错误你得到"角色"myusername"不存在"可以避免使用-U postgres(或任何其他数据库用户)或通过设置PGUSER环境变量。

最新更新