Thank you! I used that. The segmentation fault came from a later code in my hook. But that helped.
> On Oct 27, 2021, at 12:47 PM, Peter Geoghegan <pg@bowt.ie> wrote:
>
> On Wed, Oct 27, 2021 at 12:39 PM Louise Grandjonc
> <louve.grandjonc@gmail.com> wrote:
>> I'm creating my first ever extension. The function that I'm trying to write takes the schema and name of a table,
andadds it in a table with all the tables the extension follows.
>> In that table I want the schema, name and oid of the table.
>>
>> I created a C function for that. Here is the code
>
> I don't think that using cstring as an argument is appropriate here.
> That's only used for "internal" functions that are called through C,
> rather than being called through SQL.
>
> It would probably be better to use a regclass argument instead. Take a
> look at the example of (say) amcheck's bt_index_check() or
> verify_heapam() functions to see how that's done. Not all C functions
> use this built-in way of specifying a particular relation from SQL (a
> few older ones really do just pass a string some other way), but it's
> definitely considered the way to go.
>
> Note that you can do stuff like this from SQL:
>
> pg@regression:5432 [2999218]=# select 'pg_class'::regclass::oid;
> oid
> ───────
> 1,259
> (1 row)
>
> --
> Peter Geoghegan