标签: postgresql

如何从 .t​​ar 文件恢复 PostgreSQL 数据库?

我在增量备份期间使用 WHM 备份了所有 PostgreSQL 数据库,这会创建一个 $dbName。tar文件。

数据存储在这些 .tar 文件中,但我不知道如何通过 SSH 将其恢复到各个数据库中。特别是文件位置。

我一直在使用:

pg_restore -d client03 /backup/cpbackup/daily/client03/psql/client03.tar
Run Code Online (Sandbox Code Playgroud)

产生错误“无法打开输入文件:权限被拒绝”

任何帮助表示赞赏。

postgresql

28
推荐指数
2
解决办法
7万
查看次数

PostgreSQL 适合一种操作系统吗?它在 Linux 上比在 Windows 上更好吗?

我一直在 Windows Server 2003 上运行 PostgreSQL,没有任何问题,而且速度很快,所以回答我自己的问题似乎没问题。

然而,我即将启动一个新项目,并且正在考虑使用 Linux 机器代替,因为稳定性和性能至关重要。由于 PostgreSQL 似乎主要是在 Linux 发行版上开发的,也许坚持使用 Linux 会更好?

postgresql

28
推荐指数
1
解决办法
2万
查看次数

如何使用 SQL 更改用户的 postgresql 密码

如何使用 SQL 更改用户的 postgresql 密码。我有用户(alex)和他的密码(例如 pass)我需要使用 sql 语句将他的密码更改为 NULL...

postgresql password sql

27
推荐指数
2
解决办法
3万
查看次数

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

我在 Oracle VirtualBox 上运行 Ubuntu 12.04。几个月前,我在我的机器上安装了 PostgreSQL 服务器版本 9.1。就在最近,我了解到PostgreSQL server 9.3 支持JSON 数据类型,所以我决定升级。

我按照此处的说明升级到 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
Run Code Online (Sandbox Code Playgroud)

这与版本 9.1 一起在我的机器上安装了服务器版本 9.3。全新启动后运行 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
Run Code Online (Sandbox Code Playgroud)

然后我做了以下升级后维护:我用 pg_dump 从我的 9.1 服务器导出了几个表,并将它们恢复到我的 9.3 服务器。然后我打开 9.1 和 9.3 的配置文件/etc/postgresql/$VERSION/main/postgresql.conf并交换它们的端口号,以便我的 psql …

postgresql ubuntu

27
推荐指数
2
解决办法
4万
查看次数

在数据库服务器上启动NTP的风险?

我听说如果您在运行时更改系统时间,数据库和邮件服务器会发生坏事的传言。但是,我很难找到有关实际风险的任何具体信息。

我有一个在 Debian Wheezy 主机上运行的生产 Postgres 9.3 服务器,时间减少了 367 秒。我可以ntpdate在 Postgres 运行时运行或启动 openntp,还是可能会导致问题?如果是这样,纠正时间的更安全方法是什么?

是否有其他服务对系统时间的变化更敏感?也许是邮件服务器(exim、sendmail 等)或消息队列(activemq、rabbitmq、zeromq 等)?

postgresql debian ntp time

27
推荐指数
3
解决办法
4894
查看次数

阻止 PostgreSQL 在 Windows 上启动?

我有一个用于开发目的的本地 postgresql 数据库,我不想在每次 Windows 启动时启动它 - 我如何阻止它启动!

postgresql windows-vista

26
推荐指数
2
解决办法
5万
查看次数

Postgres:如何查看数据库服务器正在执行的所有 SQL 语句?

出于性能原因,我正在审查应用程序针对数据库执行的每条 SQL 语句。有没有一种简单的方法来记录 PostgreSQL 数据库服务器执行的所有语句?谢谢。

postgresql sql database

25
推荐指数
2
解决办法
7万
查看次数

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

我发现每周都必须备份数据库很乏味。而且我还认为每周备份应该变成每日备份。如果我必须这样做,我不想手动完成。每天自动备份 PostgreSQL 数据库的最佳方法是什么?

postgresql backup database-administration

25
推荐指数
2
解决办法
3万
查看次数

kill -9 一个 postgres 进程

postgres SELECT 查询在我们的数据库服务器上失控并开始消耗大量内存和交换,直到服务器内存不足。我通过ps aux | grep postgres并运行了特定的过程kill -9 pid。这终止了进程,内存按预期释放。系统的其余部分和 postgres 查询似乎不受影响。此服务器在 SLES 9 SP4 上运行 postgres 9.1.3。

但是,我们的一位开发人员因为使用 杀死了 postgres 进程而批评我kill -9,说它会关闭整个 postgres 服务。事实上,事实并非如此。我以前做过几次,没有看到任何负面影响。

话虽如此,在进一步阅读之后,看起来kill pid没有标志是杀死失控的 postgres 进程的首选方式,但对于 postgres 社区中的其他用户来说,听起来 postgres 多年来“变得更好”,以至于kill -9在单个查询进程/线程上不再是死刑。

有人能告诉我杀死失控的 postgres 进程的正确方法以及kill -9这些天 Postgres 的使用是多么灾难性(或良性)吗?感谢您的洞察力。

postgresql linux kill sles

25
推荐指数
3
解决办法
2万
查看次数

Postgres 角色最佳实践实施

各位,

我可以利用你的帮助使我的 Postgres 用户访问控制设计更好,更符合最佳实践。我正在帮助推出一个小型生产 Postgres 服务器,但我不是数据库管理员,所以我知道足够危险。

一台服务器安装了一次 Postgres v9.2。此安装托管多个数据库,每个数据库都完全服务于不同的“客户”。换句话说,customer1 不会,也不应该使用 database2,依此类推。在正常操作期间,每个数据库都由一个匹配的 CakePHP 实例访问,所有实例都与 Postgres 位于同一服务器上。虽然此部署可能会有优化,但我最感兴趣的是 Psql 角色。

根据我所读到的,似乎三种类型的角色是有意义的:

  • 具有非默认密码的超级用户 postgres
  • 没有日常维护、数据库创建、备份、恢复的超级用户权限的管理员角色。应该能够对所有客户数据库做任何事情。
  • 只能在其各自的数据库中进行 CRUD 的用户角色。如果清理实现,则可以容忍对他们自己的数据库的更多权限。

实现该设计是我不太自信的地方。DB与表的所有权以及谁应该从谁那里继承有点混乱。下面是我的数据库和我的用户。这些信息足以评估实施吗?

     Role name |                   Attributes                   |     Member of     
    -----------+------------------------------------------------+-------------------
     admin     | Create role, Create DB                         | {user1, user2}
     postgres  | Superuser, Create role, Create DB              | {}
     user1     |                                                | {}
     user2     |                                                | {}

    postgres=# \l
                                 List of databases
       Name    |  Owner   | Encoding | Collate | Ctype |   Access privileges   
    -----------+----------+----------+---------+-------+-----------------------
     admin     | postgres …
Run Code Online (Sandbox Code Playgroud)

postgresql psql

24
推荐指数
1
解决办法
7449
查看次数