dotnet / orleans

Cloud Native application framework for .NET
https://docs.microsoft.com/dotnet/orleans
MIT License
10.07k stars 2.03k forks source link

How to use SystemStoreType ="PostgreSQL" in SystemStore #2079

Closed Qoooooooooooo closed 7 years ago

Qoooooooooooo commented 8 years ago

none?

veikkoeeva commented 8 years ago

@sundong1982 It is a regrettable naming problem. SystemStore="SqlServer" should really be SystemStore="AdoNet". It will be likely changed in the 2.0 release when backwards incompatible changes are more OK.

In your example case the connection string would be "DataConnectionString="Server=127.0.0.1;Port=5432;Database=myDataBase;Userid=myUsername;Password=myPassword;Protocol=3;Pooling=true;MinPoolSize=1;MaxPoolSize=20;ConnectionLifeTime=15; AdoInvariant="Npgsql" /"

Take a note of th last AdoInvariant="Npgsql". This tells Orleans which ADO.NET libraries to load and use. For more information at http://dotnet.github.io/orleans/Advanced-Concepts/Configuring-SQL-Tables.

Currently there is a database deployment script only for SQL Server and MySQL. If you have the time and inclination, take a look at https://github.com/dotnet/orleans/tree/master/src/OrleansSQLUtils. The scripts are there and you should get going by translating a PostgreSQL specific version of them. We have exhaustive tests and can help you checking progress incrementally if you wish work on this. You don't have to, but I mention just in case. Eventually someone gets there, I've thought about it myself too. :)

ReubenBond commented 8 years ago

We could add an alias between "adonet" and "sqlserver"

On 20 Aug 2016 12:59 AM, "Veikko Eeva" notifications@github.com wrote:

@sundong1982 https://github.com/sundong1982 It is a regrettable naming problem. SystemStore="SqlServer" should really be SystemStore="AdoNet". It will be likely changed in the 2.0 release when backwards incompatible changes are more OK.

In your example case the connection string would be "DataConnectionString="Server=127.0.0.1;Port=5432;Database= myDataBase;Userid=myUsername;Password=myPassword;Protocol= 3;Pooling=true;MinPoolSize=1;MaxPoolSize=20;ConnectionLifeTime=15; AdoInvariant="Npgsql" /"

Take a note of th last AdoInvariant="Npgsql". This tells Orleans which ADO.NET libraries to load and use. For more information at http://dotnet.github.io/orleans/Advanced-Concepts/Configuring-SQL-Tables.

Currently there is a database deployment script only for SQL Server and MySQL. If you have the time and inclination, take a look at https://github.com/dotnet/orleans/tree/master/src/OrleansSQLUtils. The scripts are there and you should get going by translating a PostgreSQL specific version of them. We have exhaustive tests and can help you checking progress incrementally if you wish work on this. You don't have to, but I mention just in case. Eventually someone gets there, I've thought about it myself too. :)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/dotnet/orleans/issues/2079#issuecomment-241042024, or mute the thread https://github.com/notifications/unsubscribe-auth/AAMcPzAlE8PXjBHiD3Or9Y1yZLHZ0xdTks5qhcS4gaJpZM4Joi4Z .

veikkoeeva commented 8 years ago

@ReubenBond That is a splendid idea. We could do that and add appropriate deprecation warning(s).

xclayl commented 8 years ago

I've been working on a Npgsql implementation. This is where I'm at at the moment. (it seems to work for me)

OrleansTables_postgres.txt

FYI, InsertMembershipKey is changing, so this script works for v1.2.3.

veikkoeeva commented 8 years ago

This would be a great contribution. If you need help in plugging it in to the test framework, just open a new PR and ping me or @shayhatsor. We might be absent for a while, but appear eventually. :)

Qoooooooooooo commented 8 years ago

thx all :)

sergeybykov commented 8 years ago

I'll link https://github.com/dotnet/orleans/pull/2113 to this.

sergeybykov commented 7 years ago

Resolved via #2113.