![](/img/trans.png)
[英]tar: can't create directory 'sqljdbc_7.2/': Permission denied tar: can't open 'sqljdbc_7.2/': Is a directory
[英]Can't create empty database with postgres — permission denied when changing directory
我正在通過postgres學習SQL。 我了解數據庫的基本概念,但是遇到了一些IT問題。 我正在關注本教程 。
轉到我的工作目錄:
myname@myname:~$ cd Dropbox/working_directory
結交新用戶:
myname@myname:~/Dropbox/working_directory$ sudo -u postgres createuser --interactive
[sudo] password for myname:
could not change directory to "/home/myname/Dropbox/working_directory": Permission denied
Enter name of role to add: sammy
Shall the new role be a superuser? (y/n) y
好的,它無法更改工作目錄,但是它允許我添加“ sammy”,並將“ sammy”設置為超級用戶。 這是發生了什么嗎?
根據該教程,應該使用與用戶相同的名稱創建一個數據庫。 這似乎是任意的。 是這樣嗎? 無論如何,當我嘗試創建一個名為“ sammy”的數據庫時,出現一個錯誤,提示我無法更改工作目錄:
myname@myname:~/Dropbox/working_directory$ sudo -u postgres createdb sammy
could not change directory to "/home/myname/Dropbox/working_directory": Permission denied
在文件瀏覽器中,我看不到“ sammy”的任何跡象
1.為什么我不能更改工作目錄? 如何創建一個空數據庫? 這種行為背后的邏輯是什么?
2.將“ sammy”命名為看起來很荒謬嗎? 用戶是否需要與數據庫命名相同? 為什么或者為什么不?
登錄到與postgres
安裝的postgres
身份似乎沒有幫助:
myname@myname:~/Dropbox/working_directory$ sudo -i -u postgres
[sudo] password for myname:
postgres@myname:~$ pwd
/var/lib/postgresql
postgres@myname:~$ cd /home
postgres@myname:/home$ cd /home/myname/
-bash: cd: /home/myname/: Permission denied
好的,那沒用。 現在,回到myname @ myname:
postgres@myname:/home$ sudo -i -u myname
[sudo] password for postgres:
Sorry, try again.
[sudo] password for postgres:
Sorry, try again.
[sudo] password for postgres:
sudo: 3 incorrect password attempts
postgres@myname:/home$
這是我開始發誓的地方。
3.如何擺脫postgres的身份? 除了關閉終端並打開另一個終端?
您在幾個層面上感到困惑。
訊息
could not change directory to "...": Permission denied
不是來自PostgreSQL或createuser
和createdb
命令,而是來自sudo
。
它告訴您,成為操作系統用戶postgres
,它將無法在當前目錄中運行,因為用戶postgres
沒有所需的文件系統權限。
但是,處理繼續(在另一個工作目錄中),並且createuser
和createdb
命令成功。
createuser
和createdb
不在當前工作目錄中創建內容,而是在數據庫目錄中創建內容 。
該目錄屬於postgres
,您可能可以通過以下方式找到它
echo $PGDATA
當您是用戶postgres
。
您可以通過鍵入exit
退出交互式sudo
會話,並選擇給數據庫提供的名稱。 您可能不會將生產數據庫稱為“ sammy”,但是為什么不呢? 只要確保您僅使用字母,數字和下划線,並且不使用大寫字符即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.