标签: postgresql

如何降级回旧版本的 postgresql

我升级到 OSX Catalina,在修复损坏的软件包的过程中,无意中posgresql从版本 11 升级到版本 12。当我尝试启动时,postgresql我在日志中看到以下内容:

2020-07-18 17:51:16.885 AEST [42394] FATAL:  database files are incompatible with server
2020-07-18 17:51:16.885 AEST [42394] DETAIL:  The data directory was initialized by PostgreSQL version 11, which is not compatible with this version 12.3.
Run Code Online (Sandbox Code Playgroud)

如何删除版本 12,然后重新安装版本 11?我不确定我正在使用版本 11 的哪个次要版本。我更喜欢使用brew.

postgresql

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

错误:无法从“11.7”确定 PostgreSQL 版本

我找到了一个 Django 项目,但未能通过以下方式使其在 Docker 容器中运行:

  1. git clone https://github.com/hotdogee/django-blast.git

我有以下 Dockerfile:

FROM python:2
ENV PYTHONUNBUFFERED=1
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/
Run Code Online (Sandbox Code Playgroud)

对于docker-compose.yml我来说:

version: "3"

services:
  db:
    image: postgres
    volumes:
      - ./data/db:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    depends_on:
      - db
Run Code Online (Sandbox Code Playgroud)

接下来,我遇到了这个错误:

$ docker-compose build
...
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -c 'import …
Run Code Online (Sandbox Code Playgroud)

postgresql python django docker-compose

4
推荐指数
1
解决办法
3541
查看次数

Docker PostgreSQL 将数据库编码更改为 UTF-8

我想通过 docker-compose 运行一个 postgres 容器,该容器具有 COLLATE 和 CTYPE 'C' 以及数据库编码 'UTF-8'。但这看起来是不可能的。

这是 docker-compose.yml 上的部分:

database:
    image: postgres:latest
    volumes:
        - db:/var/lib/postgresql/data
    environment:
        POSTGRES_PASSWORD: test
        LC_COLLATE: C
        LC_CTYPE: C
        LANG: C.UTF-8
Run Code Online (Sandbox Code Playgroud)

这是日志输出:

The database cluster will be initialized with locales.
The default text search configuration will be set to "english".
  COLLATE:  C
  CTYPE:    C
  MESSAGES: C.UTF-8
  MONETARY: C.UTF-8
  NUMERIC:  C.UTF-8
  TIME:     C.UTF-8
The default database encoding has accordingly been set to "SQL_ASCII".
Run Code Online (Sandbox Code Playgroud)

我必须将数据库编码设置为 UTF-8,并将 COLLATE 和 CTYPE 设置为“C”而不是“C.UTF-8”,否则从属应用程序将无法连接。

我在任何文档或其他任何地方都没有找到任何内容。

postgresql docker docker-compose

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

pg_hba.conf - psql本地无密码登录

pg_hba.conf我的PostgreSQL-12.6 安装中有这些设置

# "local" is for Unix domain socket connections only
local   all             all                                     md5
local   all             postgres                                trust   # ident
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust   # md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     trust
host    replication     all             127.0.0.1/32            trust
host    replication     all             ::1/128                 trust
Run Code Online (Sandbox Code Playgroud)

我应该local all postgres trust允许我在本地登录,而psql 无需以 UNIX …

postgresql user-management

4
推荐指数
1
解决办法
8305
查看次数

无法从 DBeaver 备份 postgres DB

希望你过得很好。

我们在 centos 服务器上安装了 postgres,并从 Ubuntu 机器通过 DBeaver 访问它。

每当我们尝试备份数据库时,都会出现错误“未指定本机客户端进行连接”。

我做了搜索,解决方案就像“哪个 postgres-> 并将其结果放入其中”

我不确定这一点,我们需要在 ubuntu 机器上安装 psql 客户端吗?

请帮忙

postgresql ubuntu database centos database-backup

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

RAID 和数据库

我使用 Postgresql 8.4,我想知道什么类型的 RAID 主要用于数据库。我到处都读到 RAID10 是最适合的,而 RAID5 不是一个好的选择。例如:http : //www.revsys.com/writings/postgresql-performance.html

我的服务器是戴尔 Poweredge 2950。戴尔支持人员告诉我,他们没有很多客户使用 RAID10。大多数情况下,他们使用 RAID5 + RAID 控制器缓存开启。

你怎么看?您的数据库服务器使用什么 RAID 级别?

谢谢 !

postgresql raid database

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

Ubuntu 上的 Postgres 8.3。服务器日志在哪里?

Ubuntu 上的 Postgres 8.3。服务器日志在哪里?

我相信一定有一个标准的地方可以放它们。

postgresql logging

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

对空间数据库系统的建议

我正在寻找有关大型空间主数据集的数据库的建议。数据本身不是关系数据,但可以这样表述。数据的结构如下:

纬度、经度、时间序列(整数的“数组”)

目前,我们正在使用 MySQL,它在我们的大表设置中表现不佳。索引我们最大的表(4.2 亿行,500GB)上的空间点花了一周时间才放弃。我们目前还面临着频繁的服务器崩溃(仍在研究为什么)。

由于这些问题,我正在寻找有关其他数据库的建议。Oracle 将是一个选择,但我想知道我们是否只是用复杂的问题交换复杂的问题。任何人都知道其他数据库的良好空间数据经验?

mysql oracle postgresql nosql

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

超线程与 SQL Server 和 PostgreSQL

我已经读到超线程是数据库的“性能杀手”。但是,我阅读的内容没有说明哪些CPU。此外,它主要表明 I/O 被“削减到 < 10% 的性能”。

这在逻辑上没有意义,因为 I/O 主要是控制器和磁盘的功能,而不是 CPU。但后来没有人说错误是有道理的。

我读到的内容还指出,SQL Server可以将两个并行查询操作放在 1 个逻辑核心(2 个线程)上,从而降低性能。我很难相信 SQL Server 的架构师会做出如此明显的错误计算。

有没有人有关于当前一代 CPU 上的超线程如何影响我提到的任一 RDBMS 的数据?

postgresql performance hyperthreading cpu-architecture sql-server

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

PostgreSQL 连续归档未运行 archive_command

根据文档,我一直在尝试为一个简单的测试 PostgreSQL 9.0 数据库设置连续存档。在 postgres.conf 中,我设置了:

wal_level = archive
archive_mode = on
archive_command = 'touch /home/myusername/backup/testtouch'
archive_timeout = 30s

...并重新启动 PostgreSQL。touch 列出的文件永远不会出现。我可以手动运行 touch 命令,它按预期工作。
如果我尝试创建备份,它会永远等待 archive_command。在 psql 中;

postgres=# SELECT pg_start_backup('touchtest');
pg_start_backup
-----------------
0/14000020(1 行)

postgres=# SELECT pg_stop_backup();
注意:pg_stop_backup 清理完成,等待需要的 WAL 段被归档 > 警告:pg_stop_backup 仍在等待所有需要的 WAL 段被归档(60 秒过去)
提示:检查你的 archive_command 是否正确执行。pg_stop_backup 可以安全地取消,但是如果没有所有的 WAL 段,数据库备份将无法使用。

什么会导致这种情况?我该如何解决?

附加信息:在 CentOS 5.4 上运行。以 root 身份安装 PostgreSQL 9.0.2。

更新:我首先尝试使用两者存档cp -i %p /home/myusername/backup/%f </dev/nulltest ! -f /home/myusername/backup/%f && cp %p /home/myusername/backup/%f匹配手册。我将其简化为更简单的触摸呼叫以进行故障排除。

postgresql backup

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