(8.0.22)
調べた限り方法なし
(19c)
drop table tab1 purge;
create table tab1(col1 int,col2 varchar2(2000));
declare
begin
for i in 1..1000 loop
insert into tab1 values(i,rpad('X',2000,'X'));
commit;
end loop;
end;
/
select col1,
dbms_rowid.rowid_to_absolute_fno(rowid, 'TEST', 'TAB1') file_id,
dbms_rowid.rowid_block_number(rowid) block_id
from tab1;
(14)
https://qiita.com/mkyz08/items/5a1c9d4bd5b8ba82f345
-- pg_filedumpのインストール
dnf -y install git make rpm-build lz4-devel
su - postgres
git clone https://github.com/df7cb/pg_filedump.git
cd pg_filedump
make
exit
cd ~postgres/pg_filedump
export PATH=$PATH:/usr/pgsql-14/bin
make install
su - postgres
export PATH=$PATH:/usr/pgsql-14/bin
pg_filedump --help
-- テストデータ作成
drop table tab1;
create table tab1(col1 int,col2 varchar(10)) with ( fillfactor = 10);
alter table tab1 add constraint tab1pk primary key(col1);
insert into tab1(col1,col2) select a,'X' from generate_series(1,50) a;
update tab1 set col2 = 'A' where col1 = 1;
update tab1 set col2 = 'B' where col1 = 2;
update tab1 set col2 = 'C' where col1 = 3;
checkpoint;
oid2name
oid2name -d test
pg_filedump -a /var/lib/pgsql/14/data/base/16384/16794
pg_filedump -D int,varchar /var/lib/pgsql/14/data/base/16384/16794
pg_filedump -i /var/lib/pgsql/14/data/base/16384/16794
oid2name -d test -i
pg_filedump -a /var/lib/pgsql/14/data/base/16384/16797
pg_filedump -a -i /var/lib/pgsql/14/data/base/16384/16797
(2019)
http://memorandom-nishi.hatenablog.jp/entry/2017/02/26/174358
drop table tab1;
create table tab1(col1 int not null primary key,col2 varchar(8000) );
declare @i int = 1;
set nocount on
while (@i <= 100)
begin
insert into tab1 values(@i,replicate('X',4000));
set @i = @i + 1;
end
select count(*) from tab1;
select * from dbo.tab1
cross apply sys.fn_PhysLocCracker(%%physloc%%) as fplc
order by
fplc.file_id,
fplc.page_id,
fplc.slot_id
;