标签: psql

如何在psql中设置默认显示模式

几乎每一个PSQL查询出来如果不是由前面难以辨认的混乱显示配置命令,如\x auto.为每个psql实例手动键入此内容很烦人.

有没有办法配置更好的默认显示?或许答案是使用更先进的交互式终端?

postgresql psql

19
推荐指数
2
解决办法
7025
查看次数

PostgreSQL中URL的数据类型

我需要在PostgreSQL表中存储一个URL.保存具有未确定长度的URL的字段的最佳数据类型是什么?

提前致谢.

postgresql url psql

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

psql:尽管存在关系,但没有找到关系

版本8.4.16(版本无法选择).

我按如下方式登录我的数据库:

psql -d JRuser
Run Code Online (Sandbox Code Playgroud)

结果提示是:

JRuser=>
Run Code Online (Sandbox Code Playgroud)

我想\或者\n期望看到架构'translate'中所有关系的列表

No relations found. 
Run Code Online (Sandbox Code Playgroud)

但我可以从架构中的任何表中选择而没有任何问题.例如:

select * from translate.storage; --works fine
Run Code Online (Sandbox Code Playgroud)

通过执行\ dn +,我确保了JRuser的访问权限是正确的:

                                 List of schemas
        Name        |  Owner   |  Access privileges   |           Description  
translate           | JRuser   | JRuser=UC/JRuser     | 
                               : postgres=UC/JRuser     
Run Code Online (Sandbox Code Playgroud)

为什么我不能在翻译模式中看到表格?

sql postgresql schema psql

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

psql:FATAL:连接需要有效的客户端证书

我正在尝试连接到我的PostgreSQL服务器,但psql抱怨我没有有效的客户端证书.以下是我创建证书的方法:

自签名服务器证书:

openssl req -new -text -nodes -keyout server.key -out server.csr -subj '/C=US/ST=California/L=Fremont/O=Example/OU=CoreDev/CN=192.168.0.100' # CN is the server's IP address
openssl req -x509 -text -in server.csr -key server.key -out server.crt
cp server.crt root.crt
rm server.csr
chmod og-rwx server.key
Run Code Online (Sandbox Code Playgroud)

客户证书:

openssl req -new -nodes -keyout client.key -out client.csr -subj '/C=US/ST=California/L=Fremont/O=Example/OU=CoreDev/CN=postgres' # postgres is the database user name
openssl x509 -req -CAcreateserial -in client.csr -CA root.crt -CAkey server.key -out client.crt
rm client.csr
Run Code Online (Sandbox Code Playgroud)

将必要的文件(client.crt,client.key,root.crt)复制到客户端计算机上并更改权限(即chmod og-rwx client.key)后,我执行以下操作:

psql 'host=192.168.0.100 port=5432 dbname=postgres user=postgres sslmode=verify-full sslcert=client.crt …
Run Code Online (Sandbox Code Playgroud)

postgresql ssl openssl psql

17
推荐指数
1
解决办法
9473
查看次数

如何通过docker run运行插入的sql文件?

我有以下插入文件:

INSERT INTO countries (id, country_code, name, ios3, numcode, withdrawn)
VALUES
    (1, 'AF', 'Afghanistan', 'AFG', 4, 'f'),
    (2, 'AL', 'Albania', 'ALB', 8, 'f'),
    (3, 'DZ', 'Algeria', 'DZA', 12, 'f'),
    (4, 'AS', 'American Samoa', 'ASM', 16, 'f'),
    (5, 'AD', 'Andorra', 'AND', 20, 'f'),
    (6, 'AO', 'Angola', 'AGO', 24, 'f'),
    (7, 'AI', 'Anguilla', 'AIA', 660, 'f'),
    (8, 'AQ', 'Antarctica', NULL, NULL, 'f'),
    (9, 'AG', 'Antigua and Barbuda', 'ATG', 28, 'f'),
    (10, 'AR', 'Argentina', 'ARG', 32, 'f'),
    (11, 'AM', 'Armenia', 'ARM', 51, 'f'), …
Run Code Online (Sandbox Code Playgroud)

psql docker

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

有没有类似于$ HOME/my.cnf for mysql的psql客户端配置文件?

也就是说,客户端机器上的本地文件具有默认的"主机","端口","用户"值等,这样我每次都不必在命令行输入它们?

postgresql psql

16
推荐指数
2
解决办法
6709
查看次数

PostgreSQL:使用psql命令行实用程序时在Windows上编码问题

我在Windows 2008 R2上的集中监控系统中工作,我已经安装了PostgreSQL 9.3以从命令行使用psql.

当我尝试访问一些远程Postgres(在我的主要情况下为8.4)时,我遇到编码错误:

命令:

psql.exe -h 192.168.114.12 -p 5432 -d db_seros_transaccion -U postgres -f script.sql
Run Code Online (Sandbox Code Playgroud)

错误:

psql: FATAL:  la conversión entre WIN1252 y LATIN1 no está soportada
Run Code Online (Sandbox Code Playgroud)

我尝试添加句子

SET client_encoding = 'UTF8';
Run Code Online (Sandbox Code Playgroud)

在我的脚本中但问题仍然存在(以及其他编码,如LATIN1和WIN1252).

谷歌搜索后,我发现人们更新服务器中的某些行来建立连接,这对我来说是一个问题.

任何人都可以帮我在没有更新的情况下使用psql建立连接吗?可能吗?

sql postgresql command-line character-encoding psql

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

如何在psql控制台中打印当前工作目录?

我正在尝试使用pgAdmin中的psql控制台和sql转储文件来恢复远程服务器上的架构.我收到以下错误:

user=> \i file.sql
file.sql: No such file or directory
Run Code Online (Sandbox Code Playgroud)

由于缺乏超级用户权限,我似乎无法打印目录列表.

有没有办法在psql控制台中识别或打印当前工作目录?什么是默认目录?

postgresql psql

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

如何使用psql执行*.sql文件

我创建了一个index.sql包含索引创建脚本的文件95 table

例如

DROP INDEX IF EXISTS gtab03_vrctrlid_idx cascade;
CREATE UNIQUE INDEX gtab03_vrctrlid_idx ON gtab03 USING btree (vrctrlid);
Run Code Online (Sandbox Code Playgroud)

我已将所有表合并index creating script到一个文件中,index.sql 我需要一次运行整个脚本,是否可以index.sql使用psql

postgresql psql

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

pg_stat_statements已启用,但该表不存在

我已经启动了postgresql-9.4,并且我最近在官方文档的帮助下启用了pg_stat_statements模块.

但是我在使用时遇到以下错误:

postgres=# SELECT * FROM pg_stat_statements;
ERROR:  relation "pg_stat_statements" does not exist
LINE 1: SELECT * FROM pg_stat_statements;


postgres=# SELECT pg_stat_statements_reset();
ERROR:  function pg_stat_statements_reset() does not exist
LINE 1: SELECT pg_stat_statements_reset();
Run Code Online (Sandbox Code Playgroud)

我使用postgres用户登录psql.我还检查了可用的扩展名列表:

postgres=# SELECT * FROM pg_available_extensions WHERE name = 'pg_stat_statements'
;
        name        | default_version | installed_version |                          comment                          
--------------------+-----------------+-------------------+-----------------------------------------------------------
 pg_stat_statements | 1.2             |                   | track execution statistics of all SQL statements executed
(1 row)
Run Code Online (Sandbox Code Playgroud)

这是扩展版本查询的结果:

postgres=# SELECT * FROM pg_available_extension_versions WHERE name = 'pg_stat_statements';
        name        | …
Run Code Online (Sandbox Code Playgroud)

postgresql psql pg-stat-statements

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