小编vit*_*tfo的帖子

PostgreSQL 致命:无法访问文件“pg_stat_statements”:没有那个文件或目录

我们的 postgres 数据库(安装在 Debian 上的 9.4 版)停止工作(它已经工作了几个月没有问题)。当我尝试使用 psql 连接时,我得到:

psql: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Run Code Online (Sandbox Code Playgroud)

当我检查状态时,它似乎没问题:

service postgresql status
? postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled)
   Active: active (exited) since Mon 2018-11-05 17:04:58 CET; 31s ago
  Process: 1367 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 1367 (code=exited, status=0/SUCCESS)
Run Code Online (Sandbox Code Playgroud)

我试图重新启动服务器

service postgresql restart
Run Code Online (Sandbox Code Playgroud)

在日志文件中我有

FATAL:  could not access file "pg_stat_statements": No such file …
Run Code Online (Sandbox Code Playgroud)

postgresql postgresql-9.4

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

我怎样才能发现PostgreSQL中的bytea列包含任何数据?

我有包含bytea列的IMAGE表.bytea列的值可以为null.我在这个表中有三行:

  • id:1,name:"some string",data:null
  • id:2,name:"small.png",data:包含小图片(460 B)
  • id:3,name:"large.png",data:包含大图(4.78 KB)

当我在pgAdmin中查看此表中的数据时,我看到: 在此输入图像描述

从输出我不知道哪一行包含bytea列中的二进制数据,哪一行不包含.当我运行SQL时选择:

select id, name, data from image;
Run Code Online (Sandbox Code Playgroud)

我得到以下结果,我可以说id 2的行包含一些二进制数据,但我无法区分其他行(id为1和3的行)是否有一些数据或为null:

在此输入图像描述

问题

  • 是否有任何SQL select选项可以查看bytea列中是否有任何数据?
  • 是否有任何pgAdmin设置可以查看bytea列数据?

为了澄清,我附上了Java测试代码,用于保存和从IMAGE表中检索数据.Image small.png的大小为460B,large.png的大小为4.78KB.

private static final String JDBC_POSTGRESQL = "jdbc:postgresql://localhost/testDB?user=username&password=passwd";
private static File[] files = {new File("small.png"), new File("large.png")};

public static void main(String[] args) {
    // stores just the string
    try (Connection con = DriverManager.getConnection(JDBC_POSTGRESQL)) {
        PreparedStatement ps = con.prepareStatement("insert into image (name) values (?)");
        ps.setString(1, "some string");
        ps.executeUpdate();
    } catch (SQLException e1) {
        e1.printStackTrace();
    }

    // store images
    for …
Run Code Online (Sandbox Code Playgroud)

postgresql pgadmin

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

标签 统计

postgresql ×2

pgadmin ×1

postgresql-9.4 ×1