Articles of postgresql

Ubuntu中的initdb在哪里?

我想重新安装后,我的postgresql数据库恢复到其初始状态。 显然initdb是这样做的,但是尽pipe这个命令有一个手册页,但它似乎并没有在我的Ubuntu 10.10系统上的任何地方。 有谁知道这是如何在Ubuntu上完成的?

PostgreSQL的错误:没有更多的连接允许

你如何释放PostgreSQL连接不能被客户端应用程序正确closures? 我有一个数据挖掘应用程序,它可以启动多个进程,所有连接到本地PostgreSQL 9.1数据库来检索数据。 它运行好几个小时,但随后死亡的错误: FATAL: remaining connection slots are reserved for non-replication superuser connections 研究表明,这很可能是由于应用程序没有正确closures它的连接而造成的。 但是,即使应用程序被杀死,这些连接也不会被释放。 PostgreSQL会自动closures连接吗? 我也尝试增加Postgres的max_connections从100到200,但重新启动给了我错误: 2014-02-23 10:51:15 EST FATAL: could not create shared memory segment: Invalid argument 2014-02-23 10:51:15 EST DETAIL: Failed system call was shmget(key=5432001, size=36954112, 03600). 2014-02-23 10:51:15 EST HINT: This error usually means that PostgreSQL's request for a shared […]

Postgresangular色最佳实践实施

伙计们, 我可以使用你的帮助,使我的Postgres用户访问控制devise更好,更符合最佳实践。 我正在帮助推出一个小型的Postgres服务器,但我不是一个数据库pipe理员,所以我知道这样做很危险。 有一台服务器安装了Postgres v9.2。 这个安装托pipe多个数据库,每个数据库完全服务于不同的“客户”。 换句话说,customer1不会,不应该使用database2,等等。 在正常的操作过程中,数据库被一个匹配的CakePHP实例所访问,它们全都与Postgres共同位于同一台服务器上。 尽pipe可能会对此部署进行优化,但我最感兴趣的是Psqlangular色。 根据我所读到的,似乎有三种angular色是合理的: 超级用户postgres与非默认密码 不具有超级用户权限的pipe理员angular色,用于日常维护,数据库创build,备份,还原。 应该能够对所有的客户数据库做任何事情。 用户angular色只能在各自的数据库中进行CRUD。 如果清理实施,可以容忍他们自己DB的更多权利。 实现这个devise是我不那么自信的地方。 数据库和表的所有权以及谁应该从谁那里inheritance谁是有点泥泞。 以下是我的数据库和我的用户。 有足够的信息来评估实施吗? Role name | Attributes | Member of ———–+————————————————+——————- admin | Create role, Create DB | {user1, user2} postgres | Superuser, Create role, Create DB | {} user1 | | {} user2 | | {} postgres=# \l […]

sudo su – postgres和sudo -u postgres有什么区别?

PostgreSQL用户默认在unix套接字上进行同等身份validation,其中unix用户必须与PostgreSQL用户相同。 所以人们经常用su或sudo来成为postgres超级用户。 我经常看到人们使用结构如: sudo su – postgres 而不是 sudo -u postgres -i 我想知道为什么。 同样,我已经看到: sudo su – postgres -c psql 代替 sudo -u postgres psql 如果没有sudo那么su版本就会变得有意义。 但是为什么在一个比prehisoric的UNIX或者Linux更less的情况下,你会使用sudo su ?

哪个数据库服务器可以更好地扩展:PostgreSQL或MySQL?

我正在一个网站上,最终可能会有一个非常大的数据库。 该网站将是一个艺术社区,直到deviantART。 我将运行大量的查询来分析网站的使用情况。 我期望一些查询杀死数据库,因为我不知道如何优化SQL查询(还)。 我刚开始使用一个小型的Linux VPS,将来会转向物理服务器。 考虑到这种情况,哪个数据库可以扩展最好?

在PostgreSQL上插入性能最好的文件系统是什么?

我很好奇,如果有人在文件系统和数据库性能之间做了任何实验或比较。 在Linux上,我想知道什么是postgres数据库的最佳文件系统。 另外,什么设置(inode等)是理想的呢? 这是根据数据库中的数据可能会有很大的不同吗? 如果你正在寻找一个关于一般文件系统/数据库性能的问题, 这篇文章有一些很好的信息。 不过,我想尽可能多的插入性能的build议,反对阅读性能。 感谢所有伟大的答案!

postgres服务器无法启动,不产生日志,如何排除故障?

我在Ubuntu 12.04服务器上启动了一个postgres 9.3实例: ~# service postgresql start * The PostgreSQL server failed to start. Please check the log output. [fail] 启动失败,但不留下日志,这个文件是空的: tail /var/log/postgresql/postgresql-9.3-main.log 而且这个目录下没有其他文件:/ var / log / postgresql / 什么是解决这个问题的最佳方法?

我安装了多个PostgreSQL服务器。 如何禁用旧服务器的自动启动?

我正在Oracle VirtualBox上运行Ubuntu 12.04。 几个月前,我在我的机器上安装了PostgreSQL服务器版本9.1。 就在最近,我了解到PostgreSQL服务器9.3支持JSON数据types,所以我决定升级。 我按照这里的说明升级到了9.3 https://wiki.postgresql.org/wiki/Apt wget –quiet -O – https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add – sudo apt-get update sudo apt-get upgrade sudo apt-get install postgresql-9.3 pgadmin3 在我的机器上安装了服务器版本9.3和版本9.1。 重新启动后运行pg_lsclusters可以: Ver Cluster Port Status Owner Data directory Log file 9.1 main 5433 online postgres /var/lib/postgresql/9.1/main /var/log/postgresql/postgresql-9.1-main.log 9.3 main 5432 online postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log 然后,我做了以下升级后维护:我从我的9.1服务器与pg_dump导出几个表,并将它们恢复到我的9.3服务器。 然后我在/etc/postgresql/$VERSION/main/postgresql.conf打开了我的configuration文件9.1和9.3,并交换了他们的端口号,这样我的psql客户端默认连接到新的服务器。 […]

自动备份PostgreSQL数据库的最佳方法是什么?

我觉得每个星期都要备份数据库是很繁琐的。 而且我也认为每周备份应该变成每日备份。 如果我必须这样做,我不想手动执行。 什么是每天自动备份PostgreSQL数据库的最佳方式?

bzip2太慢了。 多核或替代品

我正在运行这个命令: pg_dumpall | bzip2 > cluster-$(date –iso).sql.bz2 这需要太长时间。 我看着top的进程。 bzip2进程大约占95%,postgres占一个核心的5%。 wa入口很低。 这意味着磁盘不是瓶颈。 我能做些什么来提高性能? 也许让bzip2使用更多的核心。 这些服务器有16个内核。 或使用替代bzip2? 我能做些什么来提高性能?