mysql DB を Postgres に移動しましたが、一部のテーブルにはvarbinary(16)(IP アドレスを格納するための) フィールドがありました。
Postgres はフィールドをサポートしていません。varbinaryいくつかの調査の結果、Postgres に相当するのはbytea.
byteaそこで、 ip 列のフィールド タイプとしてテーブルを作成しました。
よくわかりませんが、これが問題を引き起こしている可能性があります。
ですから、私の質問は、byteaとvarbinaryが完全に同等に扱われるかどうかです。たとえば、元の MySQL クエリが次の場合:
INSERT INTO messages(userID, userName, userRole, dateTime, ip, text)
Values('21212111','bot','4',NOW(), inet_pton($ip), 'hi');
注:挿入されたIPアドレスがログに表示されないため、そこにいくつかのphpを含めました(これはブロブ/何かです)
byteaでは、このクエリがフィールドの場合、まったく同じデータを格納するでしょうか? はいと思いますが、同じことが select ステートメントにも当てはまりますか? つまり、このクエリは、
ip フィールドがvarbinarybytea
SELECT userID, userName, userRole, channel ,ip FROM table
お時間をいただきありがとうございます。よい一日を。