docker pgsql 创建表空间没权限操作
时间: 2023-09-17 17:12:06 浏览: 198
要在Docker中创建表空间,您需要以root用户身份运行容器,并使用--privileged=true选项来获取特权访问权限。您可以使用以下命令启动具有适当权限的PostgreSQL容器:
```
docker run -it -u root --restart=always --name 容器名称 --privileged=true --shm-size='1G' -v /home/路径XXX/路径XX/data/:/var/lib/postgresql/data -e POSTGRES_PASSWORD=密码 -p 端口映射:端口映射 -e TZ='时区设置' -d postgres:15(版本号)
```
在这个命令中,您需要将"容器名称"替换为您想要为容器指定的名称,将"路径XXX/路径XX"替换为您要将数据目录映射到的主机路径,将"密码"替换为您要设置的PostgreSQL密码,将"端口映射"替换为您要映射的主机端口号,将"时区设置"替换为您所在的时区。这样,您将以root用户身份运行具有适当权限的PostgreSQL容器。
一旦容器启动,您可以使用以下命令访问PostgreSQL SQL数据库:
```
docker exec -it 容器名称 psql -U postgres
```
这将以交互方式连接到PostgreSQL数据库,并使用"postgres"用户进行身份验证。然后,您可以使用SQL命令来创建表空间或执行其他操作。
请注意,创建表空间需要适当的权限,因此确保您在创建表空间之前已经以root用户身份运行了容器,并使用了--privileged=true选项。
#### 引用[.reference_title]
- *1* *2* *3* [linux及docker和postgres SQL和mysql常用的一些命令整理](https://blog.csdn.net/xiaoyaoyujh/article/details/130042647)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文