我弄乱了我的 pg_hba.conf 文件,我不想重新安装 - 我在网络上的任何地方都找不到默认文件。有人有吗?
我有 3 个复杂的表。对于这个问题,我就简化一下用法。我需要排名、计数(重复)和唯一记录(结果)。它适用于单个表,但是,当WITH包含并INNER JOIN给出另一个表时,我不再获得任何记录。
CREATE TABLE public.emails (
id bigint NOT NULL PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY
(MAXVALUE 9223372036854775807),
sender jsonb NOT NULL
);
CREATE TABLE public.contacts (
id bigint NOT NULL PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY
(MAXVALUE 9223372036854775807),
email text NOT NULL,
full_name text NOT NULL
);
-- sample data
insert into emails (sender) VALUES ('{"email": "dennis1@example.com", "name": "dennis1"}');
insert into emails (sender) VALUES ('{"email": "dennis1@example.com", "name": "dennis1"}');
insert into …Run Code Online (Sandbox Code Playgroud) 我有以下查询可以获取所有序列及其模式:
SELECT sequence_schema as schema, sequence_name as sequence
FROM information_schema.sequences
WHERE sequence_schema NOT IN ('topology', 'tiger')
ORDER BY 1, 2
Run Code Online (Sandbox Code Playgroud)
我想用类似的东西来获取每个序列名称的当前值select last_value from [sequence];。我尝试了以下(以及一些变体),但它不起作用,因为语法不正确:
DO $$
BEGIN
EXECUTE
sequence_schema as schema,
sequence_name as sequence,
last_value
FROM information_schema.sequences
LEFT JOIN (
EXECUTE 'SELECT last_value FROM ' || schema || '.' || sequence
) tmp
ORDER BY 1, 2;
END
$$;
Run Code Online (Sandbox Code Playgroud)
我找到了一些解决方案,可以创建函数来执行文本或将函数内的查询拼凑在一起并返回结果,但我更喜欢有一个可以运行和修改的查询,但我喜欢。
sudo psql -f sample-schema.sql -U postgres -p 5432 -h my ipaddress -d dbname
Run Code Online (Sandbox Code Playgroud)
如何指定数据进入哪个模式?
我们想要将 postgres 升级到版本 12,想知道我们是否有任何语法更改会影响在 postgres 版本 11 上编写的查询。
我目前正在检查使用 - 但没有发现任何会改变查询的差异。
https://www.postgresql.org/about/featurematrix/
任何帮助表示赞赏。