选择SQL中的表。它们是如何储存的?
在PostgreSQL中运行脚本时,我通常从选择SQL中的表。它们是如何储存的?,sql,postgresql,session,temp-tables,Sql,Postgresql,Session,Temp Tables,在PostgreSQL中运行脚本时,我通常从psql执行以下操作: my_database> \i my_script.sql 在my_script.sql中,我可能有如下代码: select a.run_uid, s.object_uid into temp_table from dt.table_run_group as a inner join dt.table_segment as s on a.group_uid = s.object_uid; 在本例中,我只对使用查询结
psql
执行以下操作:
my_database> \i my_script.sql
在my_script.sql
中,我可能有如下代码:
select a.run_uid, s.object_uid into temp_table from dt.table_run_group as a
inner join dt.table_segment as s on a.group_uid = s.object_uid;
在本例中,我只对使用查询结果创建temp_表
感兴趣
这些结果是否存在于服务器上的磁盘中?在记忆中?表是否永久存储?
选择入表…
与创建表作为…相同,后者创建一个正常的永久表。选择入表…
与创建表作为…相同,后者创建一个正常的,永久表。选择入表…
与创建表为…相同,后者创建一个正常的永久表。选择入表…
与创建表为…相同,后者创建一个正常的永久表。- 临时表存储在RAM中,直到可用内存用完,然后溢出到磁盘上。这里的相关设置是
- 无论哪种方式,它们都在会话期间有效,并在会话结束时自动删除
- 您还可以在事务结束时自动()或随时手动删除它们
- 临时表仅对同一会话中的同一用户可见。其他人无法访问它,也不能与之冲突
- 始终使用
。替代形式<代码>选择。。。不鼓励使用INTO tbl,因为它与plpgsql中的创建表tbl作为…
子句冲突INTO
CREATE TEMP TABLE tbl AS
SELECT a.run_uid, s.object_uid
FROM dt.table_run_group a
JOIN dt.table_segment s ON a.group_uid = s.object_uid;
- 临时表存储在RAM中,直到可用内存用完,然后溢出到磁盘上。这里的相关设置是
- 无论哪种方式,它们都在会话期间有效,并在会话结束时自动删除
- 您还可以在事务结束时自动()或随时手动删除它们
- 临时表仅对同一会话中的同一用户可见。其他人无法访问它,也不能与之冲突
- 始终使用
。替代形式<代码>选择。。。不鼓励使用INTO tbl,因为它与plpgsql中的创建表tbl作为…
子句冲突INTO
CREATE TEMP TABLE tbl AS
SELECT a.run_uid, s.object_uid
FROM dt.table_run_group a
JOIN dt.table_segment s ON a.group_uid = s.object_uid;
- 临时表存储在RAM中,直到可用内存用完,然后溢出到磁盘上。这里的相关设置是
- 无论哪种方式,它们都在会话期间有效,并在会话结束时自动删除
- 您还可以在事务结束时自动()或随时手动删除它们
- 临时表仅对同一会话中的同一用户可见。其他人无法访问它,也不能与之冲突
- 始终使用
。替代形式<代码>选择。。。不鼓励使用INTO tbl,因为它与plpgsql中的创建表tbl作为…
子句冲突INTO
CREATE TEMP TABLE tbl AS
SELECT a.run_uid, s.object_uid
FROM dt.table_run_group a
JOIN dt.table_segment s ON a.group_uid = s.object_uid;
- 临时表存储在RAM中,直到可用内存用完,然后溢出到磁盘上。这里的相关设置是
- 无论哪种方式,它们都在会话期间有效,并在会话结束时自动删除
- 您还可以在事务结束时自动()或随时手动删除它们
- 临时表仅对同一会话中的同一用户可见。其他人无法访问它,也不能与之冲突
- 始终使用
。替代形式<代码>选择。。。不鼓励使用INTO tbl,因为它与plpgsql中的创建表tbl作为…
子句冲突INTO
CREATE TEMP TABLE tbl AS
SELECT a.run_uid, s.object_uid
FROM dt.table_run_group a
JOIN dt.table_segment s ON a.group_uid = s.object_uid;
您显示的表单中的查询(使用
进入临时表
部分)应将整个查询输出存储到表临时表
中,并且不会将结果输出到psql
。您显示的表单中的查询(使用进入临时表
部分)应将查询的整个输出存储到表temp_table
中,并且不会将结果输出到psql
。以您显示的形式将查询(使用存储到temp_table
部分)应将查询的整个输出存储到表temp_table
中,并且不会将结果输出到psql
。以您显示的形式将查询(使用存储到temp_table
部分)应该将查询的整个输出存储到表temp\u table
中,并且不会将结果输出到psql
。太好了。谢谢有没有办法创建一个临时表,以便在断开连接时将其销毁?这样的表会作为常规表存储在数据库中吗?太好了。谢谢有没有办法创建一个临时表,以便在断开连接时将其销毁?这样的表会作为常规表存储在数据库中吗?太好了。谢谢有没有办法创建一个临时表,以便在断开连接时将其销毁?这样的表会作为常规表存储在数据库中吗?太好了。谢谢有没有办法创建一个临时表,以便在断开连接时将其销毁?这些表会作为常规表存储在数据库中吗?