标签: postgresql

PostgreSQL 在 linux 关闭期间挂起?

我正在使用 PostgreSQL 9.0。它在关机期间挂起。当我使用pg_ctl stop它时它挂起,一段时间后它显示味精:

pg_ctl: server does not shut down
Run Code Online (Sandbox Code Playgroud)

当我使用 psql 时,它的显示是:

psql: FATAL:  the database system is shutting down
Run Code Online (Sandbox Code Playgroud)

并在日志中写入这些消息

 DEBUG:  postmaster received signal 15
2011-07-14 09:36:00 ETC/GMT LOG:  received smart shutdown request
Run Code Online (Sandbox Code Playgroud)

请告诉我如何解决它?

postgresql

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

来自 postgres 数据库的 sshd 中的虚拟用户

我有一个充满用户帐户的 Postgresql 数据库,我想允许这些用户通过 ssh 访问服务器,只使用公钥认证。

到目前为止,我已经在 Ubuntu 服务器上设置了这些部分:

  1. libnss-pgsql2将 NSS 连接到以 Unix 兼容格式列出我的用户的多个数据库视图
  2. libpam-pgsql允许使用这些相同的视图进行 PAM 身份验证
  3. sshd AuthorizedKeysCommand 带有一个脚本,该脚本使用他们的公钥(仍然来自 postgresql 数据库)对用户进行身份验证。

有没有更简单的方法来解决这个问题?我在正确设置 nss 配置时遇到问题(缺乏文档和日志)。

感谢您的时间和帮助。

postgresql ssh pam nss

6
推荐指数
1
解决办法
1345
查看次数

了解 PostgreSQL 磁盘使用情况

我正在使用 9.1 并且dpi在数据库中调用了一个表,其中 UTF-8 编码当前位于 18,628 行。那里有一TEXT列叫做fotoB64 字符串,代表一个唯一的图像文件。

我想弄清楚一行需要多少磁盘空间。有18050行与非NULL的价值foto,并length()为所有这些为87384。

我不明白的是这个。运行select * from pgstattuple('dpi');返回:

-[ RECORD 1 ]------+--------
table_len          | 5890048
tuple_count        | 18628
tuple_len          | 5656063
tuple_percent      | 96.03
dead_tuple_count   | 0
dead_tuple_len     | 0
dead_tuple_percent | 0
free_space         | 92752
free_percent       | 1.57
Run Code Online (Sandbox Code Playgroud)

跑步

select pg_size_pretty(pg_relation_size(c.oid)) AS "size"
from pg_class c
where relname = 'dpi';
Run Code Online (Sandbox Code Playgroud)

我得到以下信息:

  size
---------
 5752 kB
(1 row)
Run Code Online (Sandbox Code Playgroud)

这里到底发生了什么?为什么这张桌子这么小?

编辑:另外,我检查了/var/lib/postgresql/9.1/main …

postgresql disk-space-utilization

6
推荐指数
1
解决办法
3548
查看次数

恢复转储时出现大量“无效命令\N”

我按照以下说明将 postgres 从 9.1 升级到 9.3: http://www.postgresql.org/docs/9.1/static/upgrading.html

当我恢复时(第 8 步),我收到大量如下消息: psql:/mnt/dumps/pre-upgrade.dump:61028: invalid command \N

有谁知道这个问题或者可以给我指出更好的 Linux 升级说明吗?

postgresql linux upgrade

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

通过服务连接时使用 pg_dump

我使用连接到我的 postgres 服务器psql "service=subscription"。我如何使用该服务pg_dump?

我尝试执行以下操作: pg_dump -h "service=subscription" > /home/fogest/dump.out

然而这并没有奏效。

我应该怎么做?

编辑:当我执行以下操作时出现错误:

pg_dump -h "service=subscription" odyssey_prod > /u3/jhvisser/dump.out
pg_dump: [archiver (db)] connection to database "odyssey_prod" failed: could not translate host name "service=subscription" to address: Name or service not known
Run Code Online (Sandbox Code Playgroud)

postgresql pg-dump

6
推荐指数
1
解决办法
3044
查看次数

Windows 2008 R2 x64 上的 32 位 ODBC Postgres 驱动程序

我正在尝试在 Windows 2008 R2 64 位机器上安装 Postgres ODBC 32 位驱动程序。安装后,没有错误,我进入ODBC面板,/syswow64文件夹下的32位版本并尝试添加驱动程序,从列表中选择Postgres驱动程序但我收到错误126,说他找不到指定路径的驱动程序。

问题是他向我展示的路径是驱动程序所在的确切路径,我仔细检查了注册表(在 HKLM\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ 位置),那里也很好。technet 上还有几个人也有同样的问题。

有没有人遇到过这种情况?任何想法将不胜感激。

编辑:驱动程序在我的 win7 x64 测试机上工作正常,这种行为只发生在服务器上。

postgresql odbc windows-server-2008-r2

6
推荐指数
1
解决办法
1899
查看次数

如何设置 Amazon RDS for PostgreSQL 数据库以充当非 RDS PostgreSQL 数据库的副本?

我正在尝试将 Amazon RDS 上的 PostgreSQL 数据库设置为位于常规服务器上的另一个 PostgreSQL 数据库的副本。我在网上找到的大多数指令都需要 shell 访问,以便您可以复制一堆无法通过 psql shell 操作的数据文件。

Amazon RDS for PostgreSQL 不提供 shell 访问,因此这些方法不起作用。还有另一种方法可以启用流式复制吗?

提前致谢!

PS 我见过这个问题,但它不是重复的,因为它特别询问 MySQL,而不是 PostgreSQL。

postgresql replication amazon-rds

6
推荐指数
1
解决办法
7023
查看次数

无法连接到 PostgreSQL unix 域套接字

我正在尝试从 PHP Web 应用程序连接到 PostgreSQL Unix 域套接字。相关系统组件:

  • CentOS 7 x64(强制执行 SELinux)
  • postgresql93 9.3.5-2PGDG.rhel7
  • nginx 1.6.2-1.el7.ngx
  • php-common 5.4.16-23.el7_0.3
  • php-fpm 5.4.16-23.el7_0.3
  • php-pdo 5.4.16-23.el7_0.3
  • php-pgsql 5.4.16-23.el7_0.3

PostgreSQL 正在侦听标准端口 5432,我在 127.0.0.1:5432 通过 TCP/IP 使用它没有问题,但是当我尝试连接到它的 Unix 域套接字时,出现以下错误:

Cannot connect to database: SQLSTATE[08006] [7] could not connect to server:
No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
Run Code Online (Sandbox Code Playgroud)

文件/tmp/.s.PGSQL.5432存在,我可以使用psql连接:

$ psql -Uusername db_name
psql (9.3.5)
Type "help" for help.

db_name=>
Run Code Online (Sandbox Code Playgroud)

所以从 PostgreSQL 方面应该没有问题。或者有吗? …

postgresql nginx centos php-fpm

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

pg_dump 压缩;服务器或客户端

当您在 pg_dump 上指定压缩时,是在服务器端进行压缩以便传输更快还是 pg_dump 进行压缩?

谢谢

postgresql backup database-backup

6
推荐指数
1
解决办法
1607
查看次数

如何更改 /etc/security/limits.d/ 中的堆栈深度限制并在启动时将更改应用于服务

我的系统

  • Ubuntu 14.04.5 (x86_64) 服务器系列,不断更新
  • 我的应用程序需要我增加 postgres 的堆栈深度
  • 我在/etc/security/limits.d/myapplication.conf 中创建了一个文件
  • 该myapplication.conf档案中有一行:* - stack 131072
  • 请注意,131072KB == 128MB
  • 制作此myapplication.conf文件后,我ulimit -s返回:131072
  • 然后我编辑了我的/etc/postgresql/9.3/main/postgresql.conf文件并附加了以下行:max_stack_depth = 126MB


我的问题

在引导期间,会出现以下消息:

 * The PostgreSQL server failed to start. Please check the log output:
2018-01-24 09:27:53 MST LOG:  invalid value for parameter "max_stack_depth": 129024
2018-01-24 09:27:53 MST DETAIL:  "max_stack_depth" must not exceed 7680kB.
2018-01-24 09:27:53 MST HINT:  Increase the platform's stack depth limit via "ulimit …
Run Code Online (Sandbox Code Playgroud)

postgresql ubuntu ulimit ansible

6
推荐指数
1
解决办法
1269
查看次数