簡體   English   中英

無法使用Postgres創建空數據庫-更改目錄時權限被拒絕

[英]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的身份? 除了關閉終端並打開另一個終端?

您在幾個層面上感到困惑。

  1. 訊息

     could not change directory to "...": Permission denied 

    不是來自PostgreSQL或createusercreatedb命令,而是來自sudo

    它告訴您,成為操作系統用戶postgres ,它將無法在當前目錄中運行,因為用戶postgres沒有所需的文件系統權限。

    但是,處理繼續(在另一個工作目錄中),並且createusercreatedb命令成功。

  2. createusercreatedb不在當前工作目錄中創建內容,而是在數據庫目錄中創建內容

    該目錄屬於postgres ,您可能可以通過以下方式找到它

     echo $PGDATA 

    當您是用戶postgres

您可以通過鍵入exit退出交互式sudo會話,並選擇給數據庫提供的名稱。 您可能不會將生產數據庫稱為“ sammy”,但是為什么不呢? 只要確保您僅使用字母,數字和下划線,並且不使用大寫字符即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM