> On Apr 8, 2025, at 8:46 AM, Lukas Panhirsch <lukas.panhir...@senselabs.de> 
> wrote:
> 
> Huh, I wouldn't have expected that, I guess I'll have to benchmark, thanks!
> Though also, if the reasoning for not having binary send/recv is that
> the format is not standardized, wouldn't the same apply to the text format?

That’s not the reasoning. The reasoning is we never had anyone who desperately 
felt they needed send/recv, so they were never implemented. All the code is 
there, so it would be an easy addition. Nobody has bothered.

P.

> Or was the text format considered fast enough that binary send/recv is
> redundant?
> 
> On 4/8/25 17:44, Paul Ramsey wrote:
>> 
>> 
>>> On Apr 8, 2025, at 8:41 AM, Lukas Panhirsch <lukas.panhir...@senselabs.de> 
>>> wrote:
>>> 
>>> From what I understand I'd be prevented from using the BINARY format
>>> though, as it relies on send/recv. The available alternative would be to
>>> use the TEXT format of the raster, which is effectively just the binary
>>> WKB encoded in ASCII HEX. And I'd assume that the bandwidth and
>> 
>> This is the same assume that we held and then discarded back in the day. 
>> Hexdecoding is cheap cheap cheap. The win of using COPY over INSERT is 
>> orders of magnitude higher than any overhead from the hex encoding. If 
>> you’re worried about network bandwidth, connect over SSL which includes a 
>> compression layer.
>> 
>> ATB
>> P
>> 
>>> computational overhead of said TEXT form is too high to be more
>>> efficient than simple INSERTs using the binary format+ST_RastFromWKB for
>>> a relatively low amount of rows, though I could be wrong.
>>> 
>>> Sincerely,
>>> Lukas
>>> 
>>> On 4/8/25 17:31, Paul Ramsey wrote:
>>>> Copy vs insert is legit going to be faster, but that’s not a binary
>>>> cursor thing, it’s batching up all the transactions and parsing nicely
>>>> into one big bundle as COPY does. You should still be able to do a bulk
>>>> copy without using send/recv.
>>>> 
>>>> P
>>>> 
>>>>> On Apr 8, 2025, at 8:30 AM, Lukas Panhirsch
>>>>> <lukas.panhir...@senselabs.de> wrote:
>>>>> 
>>>>> That makes sense, thank you both.
>>>>> I believe I've seen some performance improvements with COPY instead of
>>>>> INSERT for large amounts of vector rows against a PostgreSQL server with
>>>>> relatively high storage latency, but on the other hand I'm inserting far
>>>>> fewer rows in the raster case, so I doubt I'd see the same improvement
>>>>> there.
>>>>> 
>>>>> Sincerely,
>>>>> Lukas
>>>>> 
>>>>> On 4/8/25 17:18, Paul Ramsey wrote:
>>>>>> Yes this. The utility of the send/recv function are in supporting a
>>>>>> client that is using a binary cursor. This doesn’t even happen much for
>>>>>> vector data anymore (there was a brief period when we all felt it was de
>>>>>> rigeur, and then it got benchmarked and it wasn’t that noticeable at all
>>>>>> as a performance tweak, so everyone stopped, because it added
>>>>> complexity).
>>>>>> 
>>>>>> P
>>>>>> 
>>>>>>> On Apr 8, 2025, at 8:15 AM, <l...@pcorp.us> <l...@pcorp.us> wrote:
>>>>>>> 
>>>>>>> I think it’s because postgis raster is not an OGC standard or any kind
>>>>>>> of standard outside of PostGIS so there hasn’t been much need for it.
>>>>>>> For example if you wanted to backup your postgis raster table, you’d
>>>>>>> just use standard pg_dump / pg_restore tools.
>>>>>>> Most use cases beyond that are importing from a different raster
>>>>>>> format or exporting to a different raster format which functions
>>>>>>> https://postgis.net/docs/en/RT_ST_FromGDALRaster.html <https://
>>>>> postgis.net/docs/en/RT_ST_FromGDALRaster.html><https://
>>>>>>> postgis.net/docs/en/RT_ST_FromGDALRaster.html <http://postgis.net/
>>>>> docs/en/RT_ST_FromGDALRaster.html>>
>>>>>>> andhttps://postgis.net/docs/en/RT_ST_AsGDALRaster.html <andhttps://
>>>>> postgis.net/docs/en/RT_ST_AsGDALRaster.html><https://
>>>>>>> postgis.net/docs/en/RT_ST_AsGDALRaster.html <http://postgis.net/docs/
>>>>> en/RT_ST_AsGDALRaster.html>>
>>>>>>> as well as the raster2pgsql commandline tool.
>>>>>>> *From:*Lukas Panhirsch via postgis-users <postgis-users@lists.osgeo.org 
>>>>>>> <mailto:postgis-users@lists.osgeo.org>>
>>>>>>> *Sent:*Tuesday, April 8, 2025 9:28 AM
>>>>>>> *To:*postgis-users@lists.osgeo.org 
>>>>>>> <mailto:postgis-users@lists.osgeo.org>
>>>>>>> *Subject:*Why does the raster type not have send/receive defined?
>>>>>>> Hello,
>>>>>>> 
>>>>>>> I haven't used this mailing list before and couldn't figure out how to
>>>>>>> search in the archives, so I apologize if this has been answered before.
>>>>>>> 
>>>>>>> Is there any specific reason why the raster type does not have the
>>>>>>> send/receive functions in its SQL type definition?
>>>>>>> The geometry type has these defined as conversions to/from EWKB, which
>>>>>>> are equivalent to ST_AsEWKB/ST_GeomFromEWKB if I understand correctly.
>>>>>>> Equivalent (E?)WKB conversion functions exist for rasters in the form
>>>>>>> of (RT_)ST_AsBinary/ST_RastFromWKB, but have to be called explicitly.
>>>>>>> I would like to use PostgreSQL features like COPY ... WITH BINARY with
>>>>>>> rasters, but it seems this is preventing me from doing so.
>>>>>>> 
>>>>>>> Sincerely,
>>>>>>> 
>>>>>>> Lukas
>>>>>> 
>>>> 
>>> 
>> 
> 

Reply via email to