我升级到 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.
我找到了一个 Django 项目,但未能通过以下方式使其在 Docker 容器中运行:
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) 我想通过 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”,否则从属应用程序将无法连接。
我在任何文档或其他任何地方都没有找到任何内容。
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 …
希望你过得很好。
我们在 centos 服务器上安装了 postgres,并从 Ubuntu 机器通过 DBeaver 访问它。
每当我们尝试备份数据库时,都会出现错误“未指定本机客户端进行连接”。
我做了搜索,解决方案就像“哪个 postgres-> 并将其结果放入其中”
我不确定这一点,我们需要在 ubuntu 机器上安装 psql 客户端吗?
请帮忙
我使用 Postgresql 8.4,我想知道什么类型的 RAID 主要用于数据库。我到处都读到 RAID10 是最适合的,而 RAID5 不是一个好的选择。例如:http : //www.revsys.com/writings/postgresql-performance.html
我的服务器是戴尔 Poweredge 2950。戴尔支持人员告诉我,他们没有很多客户使用 RAID10。大多数情况下,他们使用 RAID5 + RAID 控制器缓存开启。
你怎么看?您的数据库服务器使用什么 RAID 级别?
谢谢 !
Ubuntu 上的 Postgres 8.3。服务器日志在哪里?
我相信一定有一个标准的地方可以放它们。
我正在寻找有关大型空间主数据集的数据库的建议。数据本身不是关系数据,但可以这样表述。数据的结构如下:
纬度、经度、时间序列(整数的“数组”)
目前,我们正在使用 MySQL,它在我们的大表设置中表现不佳。索引我们最大的表(4.2 亿行,500GB)上的空间点花了一周时间才放弃。我们目前还面临着频繁的服务器崩溃(仍在研究为什么)。
由于这些问题,我正在寻找有关其他数据库的建议。Oracle 将是一个选择,但我想知道我们是否只是用复杂的问题交换复杂的问题。任何人都知道其他数据库的良好空间数据经验?
我已经读到超线程是数据库的“性能杀手”。但是,我阅读的内容没有说明哪些CPU。此外,它主要表明 I/O 被“削减到 < 10% 的性能”。
这在逻辑上没有意义,因为 I/O 主要是控制器和磁盘的功能,而不是 CPU。但后来没有人说错误是有道理的。
我读到的内容还指出,SQL Server可以将两个并行查询操作放在 1 个逻辑核心(2 个线程)上,从而降低性能。我很难相信 SQL Server 的架构师会做出如此明显的错误计算。
有没有人有关于当前一代 CPU 上的超线程如何影响我提到的任一 RDBMS 的数据?
postgresql performance hyperthreading cpu-architecture sql-server
根据文档,我一直在尝试为一个简单的测试 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/null并test ! -f /home/myusername/backup/%f && cp %p /home/myusername/backup/%f匹配手册。我将其简化为更简单的触摸呼叫以进行故障排除。
postgresql ×10
database ×2
backup ×1
centos ×1
django ×1
docker ×1
logging ×1
mysql ×1
nosql ×1
oracle ×1
performance ×1
python ×1
raid ×1
sql-server ×1
ubuntu ×1