小编Séb*_*ent的帖子

CentOS 7下如何重启PostgreSQL服务器

我在 CentOS 7.3 环境下安装了 PostgreSQL 10.1。

服务已启动(postmaster.pid文件存在于 下/var/lib/pgsql/10/data),但我需要在pg_hba.conf.

但是,尝试不同的命令,我得到以下信息:

pg_ctl reload -D /var/lib/pgsql/10/data
bash: pg_ctl: command not found

service postgresql reload
Redirecting to /bin/systemctl reload postgresql.service
Failed to reload postgresql.service: Unit not found.
Run Code Online (Sandbox Code Playgroud)

postgresql centos-7 pg-hba.conf

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

在 pg_restore 期间检查点发生得太频繁

在 PostgreSQL 9.2.2(Windows 32 位)下,我有一个pg_restore命令可以系统地导致有关检查点频率的日志警告,例如:

LOG:  checkpoints are occurring too frequently (17 seconds apart)
HINT:  Consider increasing the configuration parameter "checkpoint_segments".
Run Code Online (Sandbox Code Playgroud)

该数据库大小约为 3.3 Gb,具有 112 个表/160 个视图,并在大约 14 分钟内恢复。

在 a 期间发生这种情况是否正常pg_restore

postgresql configuration restore checkpoint

17
推荐指数
1
解决办法
3万
查看次数

PostgreSQL 11 错误:列 p.proisagg 不存在

CentOS v7上使用phpPgAdmin v5.6PostgreSQL v11.2,当我尝试访问架构中的选项卡时,出现以下错误:Functionspublic

ERROR:  column p.proisagg does not exist
LINE 18:    WHERE NOT p.proisagg
                      ^
HINT:  Perhaps you meant to reference the column "p.prolang".
Dans l'instruction :

            SELECT
                p.oid AS prooid,
                p.proname,
                p.proretset,
                pg_catalog.format_type(p.prorettype, NULL) AS proresult,
                pg_catalog.oidvectortypes(p.proargtypes) AS proarguments,
                pl.lanname AS prolanguage,
                pg_catalog.obj_description(p.oid, 'pg_proc') AS procomment,
                p.proname || ' (' || pg_catalog.oidvectortypes(p.proargtypes) || ')' AS proproto,
                CASE WHEN p.proretset THEN 'setof ' ELSE '' END || pg_catalog.format_type(p.prorettype, NULL) AS proreturns, …
Run Code Online (Sandbox Code Playgroud)

postgresql functions centos-7

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

是否可以在 PostgreSQL 的日志活动中排除特定用户?

我需要监控我们数据库中用户的活动。我在中设置了以下参数postgresql.conf

log_min_duration_statement = 0
log_connections = on
log_disconnections = on
log_line_prefix = '%t %a %d %h %u |'
Run Code Online (Sandbox Code Playgroud)

但是,我意识到大多数日志文件都填充了postgres用户执行的语句,这些语句被我为维护任务编写的脚本所使用:重新计算物化视图、pg_dump、pg_restore、将视图提取为列表文件等。结果是每天日志文件大小超过 12 Mb。

有没有办法从日志中排除特定用户的活动?

postgresql log

11
推荐指数
1
解决办法
3295
查看次数

如何记录由 pl/pgsql 函数执行的 DML 语句?

我有一个 pl/pgsql 函数(见下文),它列出了一些字段并使用动态构造的 UPDATE 命令清除它们的内容。

当我设置时log_statement = 'mod',我在执行函数时在日志上看不到任何内容SELECT fnct_clear_temp_fields();。当我设置log_statement = 'all'并执行我可以SELECT fnct_clear_temp_fields();在日志中看到的函数时,但看不到底层的 UPDATE 命令。

有没有办法让 UPDATE 命令也出现在日志中?

有关信息,这里是功能:

CREATE OR REPLACE FUNCTION fnct_clear_temp_fields() RETURNS VOID AS $$
DECLARE
    --Put into a cursor a view dynamically listing all user-defined fields beginning with 'temp_'
    dataset_1 CURSOR FOR 
        SELECT 
            column_name,
            table_name
        FROM information_schema.tables 
        NATURAL JOIN information_schema.columns 
        WHERE 
            table_schema='public'
            AND table_type='BASE TABLE'
            AND column_name ~ '^temp_'
        ORDER BY table_name,column_name;

    --Record variable to go through each line …
Run Code Online (Sandbox Code Playgroud)

postgresql dml plpgsql functions log

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

PostgreSQL 否认表所有权发生变化

我正在尝试更改我已经是所有者的表的所有权。我也是数据库的所有者,并且拥有 PUBLIC 模式的 CREATE 和 USAGE 权限。我收到以下错误消息:

ts_d=> ALTER TABLE table1 OWNER TO user2;
ERROR:  permission denied for schema public
Run Code Online (Sandbox Code Playgroud)

如何在不以超级用户身份登录的情况下更改所有权?

postgresql permissions

3
推荐指数
1
解决办法
1750
查看次数

PostgreSQL 由于设备空间不足而崩溃

PostgreSQL 11我们在服务器下运行CentOS 7。最近,我们在日志中发现了几个导致 PostgreSQL 服务器崩溃的警告:

2022-05-09 23:26:29 EDT pg_restore      db123      132.132.132.32  postgres        ERROR:  could not extend file "base/71592268/71621568": No space left on device
2022-05-09 23:26:29 EDT pg_restore      db123      132.132.132.32  postgres        HINT:  Check free disk space.
(...)
2022-05-09 23:26:33 EDT                                 DETAIL:  Could not open file "pg_notify/0000": No space left on device.
2022-05-09 23:26:34 EDT                                 LOG:  database system is shut down
Run Code Online (Sandbox Code Playgroud)

目录下有几个数据库/var/lib/pgsql/11/data/base/

# du -h /var/lib/pgsql/11/data/base/
7.7M    /var/lib/pgsql/11/data/base/1
7.7M    /var/lib/pgsql/11/data/base/13877
8.1M    /var/lib/pgsql/11/data/base/13878
0       /var/lib/pgsql/11/data/base/pgsql_tmp
61M     /var/lib/pgsql/11/data/base/852671
166M …
Run Code Online (Sandbox Code Playgroud)

postgresql disk-space crash

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