我正在按照最近的RailsCast设置PostgreSQL,但是我无法运行initdb /usr/local/var/postgres命令.每次运行它时,我都会收到以下错误:

The files belonging to this database system will be owned by user "Construct".
This user must also own the server process.

The database cluster will be initialized with locale en_US.UTF-8.
The default database encoding has accordingly been set to UTF8.
The default text search configuration will be set to "english".

creating directory /usr/local/var/postgres ... initdb: could not create directory "/usr/local/var": Permission denied

推荐答案

这应该可以很好地工作:

# sudo mkdir /usr/local/var/postgres
# sudo chmod 775 /usr/local/var/postgres
# sudo chown construct /usr/local/var/postgres
# initdb /usr/local/var/postgres

使用您的用户名代替构造.因此,如果您的计算机用户名是WDurant,则代码将为:

# sudo chown $(whoami) /usr/local/var/postgres

Database相关问答推荐

在多组MongoDB中查找最新文档的有效方法

数据库术语中的relation关系是什么意思?

无法使用命令行运行 liquibase

如何在 mysql 数据库(表)中插入图像?

Java中基于文件的数据库

数据库中空值(nulls)使用的空间

SQLite 如果列存在

Zend 框架 - 为什么我应该使用数据映射器/Db_Table_Row?

聊天的数据库模式:私有和群组

关系数据库如何在幕后工作?

内存数据库和磁盘内存数据库的区别

更改列类型而不丢失数据

为什么会一直出现Table is marked for deletion的消息?

多语言数据库,默认回退

为什么在连接表上有一个主键不好?

省略日期中的毫秒数

SQL - 如何转置?

如何一次插入1000行

将一行连接到另一个表中的多行

数据库 - (行或记录、列或字段)?