小编Lau*_*lbe的帖子

如何修复“postgres.h”文件未找到的问题?

我正在尝试在 C 中为 PostgreSQL 编写一个基本类型(使用 xcode),并且我已经安装了 PostgreSQL 11,但似乎postgres.h不能简单地包含在文件中(“'postgres.h' 文件未找到”)。

有人能告诉我如何解决这个问题吗?而且我可以在任意目录下编写代码,还是必须在PostgreSQL目录下编写?

或者也许问题应该是:如何安装头文件postgres.h

c postgresql postgresql-11

8
推荐指数
2
解决办法
9836
查看次数

在Spring Security表单登录页面中获取原始请求URL

我在spring安全配置文件中声明了以下内容(http://www.springframework.org/schema/security/spring-security-2.0.1.xsd):

<form-login login-page="/login.html" />
Run Code Online (Sandbox Code Playgroud)

如果用户没有正确的身份验证凭据,Spring Security会将用户重定向到该页面.如何获取用户试图访问的页面的URL?

spring-security

7
推荐指数
1
解决办法
7565
查看次数

postgresql,pgadmin 错误 RETURN 在函数返回集合中不能有参数

我做了一个这样的功能

create or replace function get_source2(TableName character varying)
returns setof integer as
$$
declare
    geom geometry;
    snode integer;
begin
    execute ('select get_source(geom) from '|| TableName)
        into snode;
    return snode;
end
$$
language plpgsql;
Run Code Online (Sandbox Code Playgroud)

输出数据将是数组类型

所以我尝试使用setof.

如果我不使用setof,它运行良好,但只有一个结果出来。

但是,如果我使用setof 我会收到这样的错误

error : RETURN cannot have a parameter in function returning set
Run Code Online (Sandbox Code Playgroud)

postgresql plpgsql

7
推荐指数
1
解决办法
7736
查看次数

使用通配符选择 PostgreSQL 中的多列

可以用这样的语句代替

select column1,column2,column3
Run Code Online (Sandbox Code Playgroud)

select like 'column_'
Run Code Online (Sandbox Code Playgroud)

在 Postgresql 查询中?

sql postgresql

7
推荐指数
1
解决办法
1266
查看次数

PostgreSql是nosql吗?

令人困惑的PostgreSql,在某些地方人们告诉它是noSql,在某些地方人们告诉它不是noSql.看到PostgreSql加上哪些是实际的noSql.建议我到底是什么?

提前致谢.

postgresql nosql

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

如何在PostgreSQL的地理数据上改进"GROUP BY"的"MAX"?

我有3列公司的地址表:company_id,lat,lon.

我需要与每家公司保持最近的距离.我为PostgreSQL 使用cubeearthdistance扩展.

查询工作正常但很慢:

SELECT
 company_id,
 MIN(earth_distance(ll_to_earth(lat,lon), ll_to_earth(53.96,83.96))) AS distance
FROM companies
GROUP BY company_id;
Run Code Online (Sandbox Code Playgroud)

GIST索引如:

CREATE INDEX i_name on companies USING gist(ll_to_earth(lat, lon));
Run Code Online (Sandbox Code Playgroud)

不使用.

我该如何解决这个问题?谢谢.

sql postgresql

7
推荐指数
1
解决办法
125
查看次数

使用 Postgresql 外部数据包装器更新表

  1. t_user我创建了一个名为into的外部数据包装表mySchema

    IMPORT FOREIGN SCHEMA public LIMIT TO (t_user)
       FROM SERVER myServer INTO mySchema;
    
    Run Code Online (Sandbox Code Playgroud)
  2. 这边添加了一些列,myServer但是t_user外表没有相应更新。

  3. 我尝试删除外部表t_user,但它被我的视图和物化视图使用t_user,因此删除失败。

关于如何更新此表有什么想法吗?

postgresql ddl foreign-data-wrapper

7
推荐指数
1
解决办法
6060
查看次数

向 PostgreSQL 插入 100 万条随机数据

表结构是这样的:

milliontable(
   name varchar(10),
   age integer,
   joindate date
)
Run Code Online (Sandbox Code Playgroud)

我想向该表中随机插入 100 万条数据。有什么办法可以做到这一点吗?

postgresql

7
推荐指数
1
解决办法
7636
查看次数

为什么在使用覆盖索引时 Postgres 仍然执行位图堆扫描?

该表看起来像这样:

CREATE TABLE "audit_log" (
  "id" int4 NOT NULL DEFAULT nextval('audit_log_id_seq'::regclass),
  "entity" varchar(50) COLLATE "public"."ci",
  "updated" timestamp(6) NOT NULL,
  "transaction_id" uuid,
  CONSTRAINT "PK_audit_log" PRIMARY KEY ("id")
);
Run Code Online (Sandbox Code Playgroud)

它包含数百万行。

我尝试在一列上添加索引,如下所示:

CREATE INDEX "testing" ON "audit_log" USING btree (
  "entity" COLLATE "public"."ci" "pg_catalog"."text_ops" ASC NULLS LAST
);
Run Code Online (Sandbox Code Playgroud)

然后对索引列和主键运行以下查询:

EXPLAIN ANALYZE SELECT entity, id FROM audit_log WHERE entity = 'abcd'
Run Code Online (Sandbox Code Playgroud)

正如我所料,查询计划同时使用位图索引扫描(大概是为了查找“实体”列)和位图堆扫描(我假设是为了检索“id”列):

Gather  (cost=2640.10..260915.23 rows=87166 width=122) (actual time=2.828..3.764 rows=0 loops=1)
  Workers Planned: 2
  Workers Launched: 2
  ->  Parallel Bitmap Heap Scan on audit_log  (cost=1640.10..251198.63 …
Run Code Online (Sandbox Code Playgroud)

postgresql

7
推荐指数
1
解决办法
4359
查看次数

使用pgloader从Mysql 8迁移到postgres失败

我正在尝试从 MySQL 数据库迁移到 PostgreSQL 数据库。

有没有办法在不修改my.cnf文件的情况下从MySQL迁移到PostgreSQL?

pgloader mysql://root:root_password@127.0.0.1/mysql_database postgresql://postgres_user:postgres_pass@127.0.0.1/postgres_database
Run Code Online (Sandbox Code Playgroud)

我尝试创建这个:

create user 'pgloader'@'localhost' identified with mysql_native_password by 'pass'
Run Code Online (Sandbox Code Playgroud)

但是当我尝试迁移时,我总是收到此错误:

create user 'pgloader'@'localhost' identified with mysql_native_password by 'pass'
Run Code Online (Sandbox Code Playgroud)

mysql migration postgresql pgloader

7
推荐指数
1
解决办法
2141
查看次数