postgresql – SQL:SELECT除了一些列之外的所有列

有没有办法选择表中的所有列,除了特定的列?从表中选择所有非blob或非几何列非常方便.

就像是:

SELECT * -the_geom FROM segments;

>我曾经听说过这个功能是故意排除在SQL standard之外的,因为更改向表中添加列会改变查询结果.这是真的?论证有效吗?
>有没有解决方法,特别是在Postgresql中?

Postgres和sql Standard(AFAIK)都没有这样的功能.我认为这是一个非常有趣的问题所以我用Google搜索了一下,并在 postgresonline.com上看到了一篇有趣的文章.

它们显示了一种直接从模式中选择列的方法

SELECT 'SELECT ' || array_to_string(ARRAY(SELECT 'o' || '.' || c.column_name
        FROM information_schema.columns As c
            WHERE table_name = 'officepark' 
            AND  c.column_name NOT IN('officeparkid','contractor')
    ),',') || ' FROM officepark As o' As sqlstmt

你可以创建一个类似的功能.这些主题也在邮件列表中进行了讨论,但总体共识几乎相同:查询架构.

我确信还有其他解决方案,但我认为它们都会涉及某种神奇的架构 – 查询 – foo.

顺便说一句:小心SELECT * …因为这会有性能损失

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...