加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – PostgreSQL安装错误 – 无法分配内存

发布时间:2020-12-16 20:40:33 所属栏目:百科 来源:网络整理
导读:我正在尝试从sqlite3切换到PostgreSQL,以便在Rails中进行开发,这样我就没有任何heroku问题.我正在遵循关于heroku和一个链接到Railscast的建议,但是在安装postgresql之后遇到了以下错误. creating template1 database in /usr/local/var/postgres/base/1 … F
我正在尝试从sqlite3切换到PostgreSQL,以便在Rails中进行开发,这样我就没有任何heroku问题.我正在遵循关于heroku和一个链接到Railscast的建议,但是在安装postgresql之后遇到了以下错误.

creating template1 database in /usr/local/var/postgres/base/1 …

FATAL: could not create shared memory segment: Cannot allocate memory

DETAIL: Failed system call was shmget(key=1,size=2072576,03600).

HINT: This error usually means that PostgreSQL’s request for a shared memory segment exceeded available memory or swap space,or
exceeded your kernel’s SHMALL parameter. You can either reduce the
request size or reconfigure the kernel with larger SHMALL. To reduce
the request size (currently 2072576 bytes),reduce PostgreSQL’s shared
memory usage,perhaps by reducing shared_buffers or max_connections.

我已经在文档上戳了一下,但是我很新,对于内存和数据库的工作原理知之甚少,我认为这里的某个人可能能指出我的方向要好于我自己找到它任何想法如何解决这个问题?我的电脑是新的,相对喜欢,如果它的内存不足,我会感到惊讶,所以我不知道如果减少“共享内存使用”是正确的想法(如果我了解发生了什么) .

编辑:应该把它放在前面.这是导致错误的命令(构建数据库):

initdb /usr/local/var/postgres -E utf8

解决方法

从数据库路径,我猜你使用的是Mac OS X

由于大多数流行的Linux发行版都有一个数据库目录驻留在/ var / lib中.

经过Google搜索后,我发现:
Fixing the postgresql initdb fatal shared memory error on Leopard

希望有帮助

为了方便起见,我复制了上述链接中的指示.

运行以下命令:

sudo sysctl -w kern.sysv.shmall=65536
sudo sysctl -w kern.sysv.shmmax=16777216

或编辑/etc/sysctl.conf进行永久更改

kern.sysv.shmall=65536
kern.sysv.shmmax=16777216

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读