我阅读了以下kubernetes 文档,这些文档导致以下 yaml 在集群中运行 postgresql 和 pgadmin:
--- pgadmin-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: pgadmin-deployment
spec:
replicas: 1
selector:
matchLabels:
app: pgadmin-pod
template:
metadata:
labels:
app: pgadmin-pod
spec:
containers:
- name: pgadmin-container
image: dpage/pgadmin4
imagePullPolicy: "IfNotPresent"
ports:
- containerPort: 80
env:
- name: PGADMIN_DEFAULT_EMAIL
value: email@example.com
- name: PGADMIN_DEFAULT_PASSWORD
value: password
--- pgadmin-service.yaml
apiVersion: v1
kind: Service
metadata:
name: pgadmin-service
spec:
type: NodePort
ports:
- port: 30000
targetPort: 80
selector:
app: pgadmin-pod
--- postgres-deployment.yaml
apiVersion: apps/v1
kind: …Run Code Online (Sandbox Code Playgroud) 我有一个 dpage/pgadmin:在 Ubuntu 20.04 上运行的最新 Docker 容器。
Client: Docker Engine - Community
Version: 20.10.8
Server: Docker Engine - Community
Engine:
Version: 20.10.8
docker-compose version 1.25.4, build 8d51620a
Run Code Online (Sandbox Code Playgroud)
现在我想手动将备份从使用 pgadmin 创建的数据库保存到另一个位置。使用 pgadmin 创建的备份存储在/var/lib/pgadmin/storage. 所以我将此路径添加到我的docker-compose.yml.
volumes:
- pgadmin_dat:/var/lib/pgadmin
- /etc/localtime:/etc/localtime:ro
- pgadmin_share:/var/lib/pgadmin/storage
Run Code Online (Sandbox Code Playgroud)
当我现在启动容器时,我收到此错误:
werkzeug.exceptions.InternalServerError: 500 Internal Server Error: The user does not have permission to read and write to the specified storage directory.
Run Code Online (Sandbox Code Playgroud)
发生此错误是因为我的卷中的目录成为root:root所有者,而不是5050:5050像此处提到的那样:
pgAdmin 容器部署
当我更改卷上的权限时sudo chown -R 5050:5050 <pgadmin_share>,sudo …
由于工作原因,我现在使用 pgAdmin IV(版本 5.7),之前我只使用过 pgAdmin III。我的问题是我已经正确设置了字符集
set client_encoding = 'Win1252';
Run Code Online (Sandbox Code Playgroud)
当我执行选择时,仍然出现此错误。我使用两者连接到同一个数据库,并且我链接到的数据库是 Postgres 9.5。当我对 pgAdmin III 执行相同操作时,我正确地获取了所有数据。
当我show server_encoding在数据库上运行时,我收到 ** WIN1252 *:

错误:
“charmap”编解码器无法解码位置 8773 中的字节 0x8d:字符映射到 <未定义>
我正在使用 PgAdmin4 版本 7.4。从今天开始,我突然无法查看表或行,并且所有表都出现此错误。
missing FROM-clause entry for table "rel"
LINE 8: ...ER JOIN pg_catalog.pg_constraint con ON con.conrelid=rel.oid
Run Code Online (Sandbox Code Playgroud)
每当我单击view data按钮或运行诸如 之类的查询时,都会出现此错误Select * from my_table。以前我访问数据没有任何问题。我该如何解决这个问题?
我使用的是M2 Mac Pro 14,并分别通过 Brew和 pgAdmin4 网站重新安装了PostgreSQL。但是,我遇到了无法打开 PgAdmin 4 的问题;它不断显示“ pgAdmin 意外完成”错误。以前,它工作正常,直到我卸载它。我不确定这个问题背后的原因。
这是错误报告的一部分
进程:pgAdmin 4 [2293]
路径:/Applications/pgAdmin 4.app/Contents/MacOS/pgAdmin 4
标识符:org.pgadmin.pgadmin4
版本:7.5 (4280.88)
代码类型:X86-64(已翻译)父进程:launchd [ 1]
日期/时间:2023-08-23
操作系统版本:macOS 13.2.1 (22D68)
报告版本:12
自启动后唤醒时间:5500 秒
自唤醒以来的时间:370 秒
系统完整性保护:已启用
崩溃线程:0 CrBrowserMain 调度队列:com.apple.main-thread
异常类型:EXC_BAD_ACCESS (SIGSEGV)
异常代码:KERN_INVALID_ADDRESS 位于 0x0000000000000020
异常代码:0x0000000000000001、0x0000000000000020
终止原因:命名空间信号,代码 11 分段错误:11
终止进程:exc 处理程序 [2293]
VM 区域信息:0x20 不位于任何区域。以下区域之前的字节:140723125682144
区域类型 开始 - 结束 [VSIZE] PRT/MAX SHRMOD 区域详细信息 开始时未使用的空间
以下是我到目前为止所采取的步骤:
使用 Brew 卸载。
从“/Library”目录中删除了“pgAdmin”和“PostgreSQL 14”文件夹。
从“目录实用程序”中删除了“PostgreSQL 14”和“PostgreSQL 服务器”。(我这样做是因为当我尝试在 Mac 上添加新用户帐户时,每次添加“postgres”时,Mac OS 都会说我已经有了该帐户,但我还没有)
使用官方网站上的 …
Hello StackOverFlowers :)到目前为止我一直在同一个微EC2实例上运行我的Django后端和我的PostgreSQL数据库.
我已经设置了两个EC2实例,一个用我的django后端,另一个用我的PostgreSQL数据库,我使用pgadminII来管理它.两个实例都使用相同的安全组,并打开所有相同的端口.我已将弹性IP附加到我的Django实例,并将另一个弹性IP附加到我的Postgresql实例.
现在我知道在settings.py中我需要将'HOST'更改为PostgreSQL实例的地址.但我不太清楚该放什么.我是否放置了PostgreSQL实例的弹性IP?
我做了一些研究,很多消息来源说我需要输入PostgreSQL实例的内部服务器IP地址.如果是这种情况,我怎样才能找到内部服务器IP地址并将其输入"主机"?为了清楚起见,我复制并粘贴了下面的settings.py代码.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'django_db',
'USER': 'django_login',
'PASSWORD': 'password',
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助,如果我不够清楚,请发表评论并告诉我,以便我能为您和其他人更清楚:)
我刚接触pgAdmin,所以我真的不知道导致这些错误的原因:
ERROR: relation "ongoingprojects" does not exist
LINE 1: SELECT * FROM ongoingProjects;
^
********** Error **********
ERROR: relation "ongoingprojects" does not exist
SQL state: 42P01
Character: 15
Run Code Online (Sandbox Code Playgroud)
即使模式中存在函数/视图.为什么会出错?我应该怎么做才能解决这个问题?
我按照说明使用pgadmin连接到heroku数据库.什么可能导致以下错误?
ERROR: column "*my database identifier*" does not exist.
LINE 9: WHERE datname IN (*my database identifier*)
Run Code Online (Sandbox Code Playgroud)
要清楚,我的数据库标识符是HerokuPostgres连接设置中"数据库"旁边列出的字母数字字符串.
我试图用postgresql在数据库中插入一些数据,但仍然显示相同的消息:
错误:关系“ empleados”的新行违反了检查约束“ ck_empleados_documento”详细信息:失败行包含(13,22222222,f,Lopez,Ana,Colon 123,1,2,casado,1990-10-10)。
我不知道错误在哪里或什么地方,也找不到解决此问题的方法。这是我尝试插入的内容:
insert into empleados (documento, sexo, apellido, nombre, domicilio, idSecc, cantidadhijos, estadocivil, fechaingreso) values('22222222','f','Lopez','Ana','Colon 123',1,2,'casado','1990-10-10');
Run Code Online (Sandbox Code Playgroud)
这是表的结构:
CREATE TABLE public.empleados
(
idempleado integer NOT NULL DEFAULT nextval('empleados_idempleado_seq'::regclass),
documento character(8),
sexo character(1),
apellido character varying(20),
nombre character varying(20),
domicilio character varying(30),
idsecc smallint NOT NULL,
cantidadhijos smallint,
estadocivil character(10),
fechaingreso date,
CONSTRAINT pk_empleados PRIMARY KEY (idempleado),
CONSTRAINT fk_empleados_idsecc FOREIGN KEY (idsecc)
REFERENCES public.puestos (idpuesto) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE NO ACTION,
CONSTRAINT uq_empleados_documento UNIQUE (documento), …Run Code Online (Sandbox Code Playgroud) 仅当您尝试使用ssh隧道使用pgadmin连接到数据库时,才会发生这种情况。ubuntu 18.04存储库中的paramiko和pgadmin4的最新版本无法解决此问题。
pgadmin ×10
postgresql ×7
pgadmin-4 ×3
ubuntu ×2
amazon-ec2 ×1
django ×1
docker ×1
heroku ×1
kubernetes ×1
macos ×1
networking ×1
paramiko ×1
sql ×1
ssh-tunnel ×1
terminal ×1